我正在初学者主题(wp bootstrap)的基础上构建一个主题,并且很难让导航助行器显示当前菜单项。在输出html上使用web检查器时,当前菜单项不存在。因此,我无法设计它。
这是我的模板文件中的代码:
<?php
/** Loading WordPress Custom Menu **/
wp_nav_menu( array(
\'menu\' => \'main-menu\',
\'container\' => \'\',
\'container_class\' => \'navbar-blue\',
\'menu_class\' => \'nav\',
\'menu_id\' => \'main-menu\',
\'walker\' => new Bootstrapwp_Walker_Nav_Menu()
) ); ?>
这是函数中的代码。php:
include \'includes/class-bootstrapwp_walker_nav_menu.php\';
最后,这是customer nav walker文件中的代码:
class Bootstrapwp_Walker_Nav_Menu extends Walker_Nav_Menu {
function __construct() {
}
function start_lvl(&$output, $depth) {
$indent = str_repeat("\\t", $depth);
$output .= "\\n$indent<ul class=\\"dropdown-menu\\">\\n";
}
}
我查看了一些stackexchange答案,并尝试更改代码以匹配它们,但没有解决问题(即:没有任何内容使当前菜单项出现在html输出中)。
任何帮助都将不胜感激。
最合适的回答,由SO网友:birgire 整理而成
因为它在header.php
文件(但不在sidebar.php
),您可以将此添加到header.php
:
global $my_nav;
$my_nav= wp_nav_menu( array(
\'menu\' => \'main-menu\',
\'container\' => \'\',
\'container_class\' => \'navbar-blue\',
\'menu_class\' => \'nav\',
\'menu_id\' => \'main-menu\',
\'walker\' => new Bootstrapwp_Walker_Nav_Menu(),
\'echo\' => 0,
) ); ?>
然后在你的
sidebar.php
可以添加的文件
global $my_nav;
echo $my_nav;
显示菜单。