主页自定义菜单链接不起作用 时间:2013-10-02 作者:Arturo 在使用自定义菜单和functions.php 文件我有:function home_page_menu_args( $args ) { $args[\'show_home\'] = true; return $args; } add_filter( \'wp_page_menu_args\', \'home_page_menu_args\' ); 问题是,在自定义菜单选项>页面中,我有这样一句话:“没有项目。”所以不知道发生了什么,它在其他网站上运行,但在这个网站上没有,你知道吗? 1 个回复 最合适的回答,由SO网友:Chip Bennett 整理而成 首先,我假设您已经正确配置了自定义导航菜单:register_nav_menus() 在里面functions.php, 定义theme_location 值wp_nav_menu() 模板中的调用,使用theme_location 在分配给主题位置的管理自定义导航菜单中定义的args数组中调用,如果是这种情况,则问题是使用了错误的筛选器。这个wp_page_menu_args filter is applied 的内部wp_page_menu(), 这是的默认回调wp_nav_menu() 未为指示的指定菜单时theme_location.的输出wp_nav_menu() 应用自己的筛选器:wp_nav_menu_args. 因此,您还需要将回调挂接到该过滤器中:function home_page_menu_args( $args ) { $args[\'show_home\'] = true; return $args; } add_filter( \'wp_page_menu_args\', \'home_page_menu_args\' ); // Hook into wp_nav_menu add_filter( \'wp_nav_menu_args\', \'home_page_menu_args\' ); 那样的话show_home arg将同时返回truewp_page_menu() 输出和wp_nav_menu() 输出小心wp_nav_menu(), 虽然如果用户向自定义菜单添加主页链接,则渲染菜单中将显示两个主页链接。 结束 文章导航