We can customize the WordPress navigation menus with writing few lines of codes.
wp_nav_menu is the WordPress menu function to display custom menus created in domain.com/wp-admin>Appearance>Menus panel . It is a must use function but it’s not perfect for all website or projects. Default menu function OK for small websites but if your site is large and have more traffic with several menus then It may create website speed and performance issues.
Majority site menu are not updated frequently so its a good idea to cache your menus for long expired period.
If your WordPress version is 3.9+ you can use Transients API and pre_wp_nav_menu. I am not going to write long story here. for your convenience i added my code below.
Please copy this code and past it to you Theme function.php file
/** * Cache wp_nav_menu to speed up your wordpress blog menus. you can customize this code as your need. **/ add_filter( 'pre_wp_nav_menu', 'ct_get_nav_menu_cache', 10, 2 ); function ct_get_nav_menu_cache( $nav_menu, $args ) { $cache_key = ct_get_nav_menu_cache_key($args); $cached_menu = get_transient( $cache_key ); if ( ! empty( $cached_menu ) ) return $cached_menu; return $nav_menu; } add_filter( 'wp_nav_menu', 'ct_set_nav_menu_cache', 10, 2 ); function ct_set_nav_menu_cache( $nav_menu, $args ) { $cache_key = ct_get_nav_menu_cache_key($args); set_transient( $cache_key, $nav_menu, 86400 ); return $nav_menu; } function ct_get_nav_menu_cache_key($args){ $timestamp = get_transient('nav-menu-cache-timestamp'); if($time === false){ $timestamp = time(); set_transient( 'nav-menu-cache-timestamp', $time, 86400 ); } return apply_filters( 'nav_menu_cache_key' , 'nav-menu-' . md5( serialize( $args ) ) . $timestamp ); } // delete the cache when update the menu add_action( 'wp_update_nav_menu', 'ct_delete_nav_menu_cache' ); function ct_delete_nav_menu_cache( $menu_id, $menu_data){ set_transient( 'nav-menu-cache-timestamp', time(), 86400 ); }
comments
In today’s competitive market, standing out requires more than just a strong message. A 360-degree… Read More
If you’re ready to take control of your organization’s data by setting up a private… Read More
Building a private cloud involves creating a virtualized environment where you can manage, store, and… Read More
In the rapidly evolving landscape of artificial intelligence, Flex AI stands as a transformative force,… Read More
Apple is set to once again make waves in the smartphone market with the iPhone… Read More
Act quickly! The sooner you take action, the better your chances of saving your water… Read More
This website uses cookies.