我使用此WP过滤器将新项目添加到菜单位置“主菜单”。
$logo = 'my logo';
function new_nav_menu_items($items, $args) {
if($args->theme_location == 'main-menu') {
$new_item = '<li class="spec"><a href="#"> $logo </a></li>';
$items = $new_item.$items;
}
return $items;
}
add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2);
wp_nav_menu(
array(
'theme_location' => 'main-menu',
'depth' => '3',
'link_before' => '<span>',
'link_after' => '</span>',
'echo' => true ,
'items_wrap' => '<ul class="%2$s clearfix">%3$s</ul>',
)
);
问题是过滤器返回带有新项目但值为空的主菜单。如果作为变量传递,他不会输出项目值(我的徽标)。
答案 0 :(得分:0)
我通过将值传递给函数来解决
function my_logo() {
$logo = 'my logo';
return $logo;
}
function new_nav_menu_items($items, $args) {
if($args->theme_location == 'main-menu') {
$new_item = '<li class="spec"><a href="#"> my_logo() </a></li>';
$items = $new_item.$items;
}
return $items;
}
add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2);