现在大多数主题都会调用 WordPress 的菜单功能,而用户刚使用主题如果没有设置菜单的话就会显示站点的所有页面,而且没有 class 和 id,这样就容易导致错位。为防止错位也为了给用户提示,我们可以在用户没有设置菜单时在需要显示菜单的地方加一段提示语,来引导用户。
其实我们仔细查看导航菜单调用函数的属性时就不难发现有一个 fallback_cb:https://www.wpdaxue.com/register_nav_menus-and-wp_nav_menu.html#导航菜单调用函数 wp_nav_menu() 介绍
这个属性用来控制没有设置菜单时的回调函数,我们只需要设置一个函数输出提示语即可。
将下面的函数添加到主题的 functions.php:
1 2 3 4 |
//菜单回调函数 function Bing_nav_fallback(){ echo '<div class="menu-alert">'.__( '请在 “后台 - 外观 -菜单” 设置导航菜单','Bing' ).'</div>'; } |
然后在 wp_nav_menu() 这个函数中添加 fallback_cb 参数,例如
1 2 3 4 5 6 |
wp_nav_menu(array( 'theme_location'=>'header_menu', 'container'=>false, 'items_wrap'=>'<ul id="topmenu">%3$s</ul>', 'fallback_cb'=>'Bing_nav_fallback' ) |