性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

WordPress 用户没有设置菜单时显示提示语

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

现在大多数主题都会调用 WordPress 的菜单功能,而用户刚使用主题如果没有设置菜单的话就会显示站点的所有页面,而且没有 class 和 id,这样就容易导致错位。为防止错位也为了给用户提示,我们可以在用户没有设置菜单时在需要显示菜单的地方加一段提示语,来引导用户。

其实我们仔细查看导航菜单调用函数的属性时就不难发现有一个 fallback_cbhttps://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'
	));

当然,不仅仅可以返回提示语,因为可以定义一个函数,所以在没有设置菜单的时候几乎可以执行任何操作,当然这需要开发者的创意了。

沃鹏科技 - 专业的WordPress建站服务平台

关于 斌果

该用户很懒,还没有介绍自己。

3 条评论

  1. 亲,像你后面写的这个 代码高亮是怎么实现的 ,需要插件吗??我不喜欢插件,百度插件刚在更新的 3.8中好像不兼容 麻烦告诉我一下 谢谢

发表评论