wp_nav_menu_items不适合儿童主题

时间:2014-09-04 05:49:36

标签: wordpress add-filter

我正在使用wordpress开发插件以使用

添加菜单项
add_filter('wp_nav_menu_items', 'your_custom_menu_item',10,2);
function your_custom_menu_item ( $items, $args ) {
        $items.="<li>Testing Menu</li>";
        return $items;
}

在父主题中,它将新菜单项附加到当前菜单,问题是它不适用于子主题。 有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

在function.php中添加以下代码。

在wp-admin设置菜单中主题位置顶级主菜单

add_filter( 'wp_nav_menu_items', 'your_custom_menu_item', 10, 2 );
function your_custom_menu_item ( $items, $args ) {

    if ($args->theme_location == 'primary') {
        $items .= '<li> <a>Show whatever</a></li>';
    }
    //echo $items;

    return $items;
}

答案 1 :(得分:0)

请尝试使用此代码.. 您忘记添加此条件:if ($args->theme_location == 'primary-menu')

add_filter('wp_nav_menu_items', 'your_custom_menu_item', 10, 2);

function your_custom_menu_item($items, $args) {
    if ($args->theme_location == 'primary-menu') {
        $items.="<li>Testing Menu</li>";
        return $items;
    }
}

我希望它对你有所帮助..

答案 2 :(得分:0)

我认为您忘记添加if ($args->theme_location == 'primary-menu')条件。

按照以下过滤器为我工作..

add_filter('wp_nav_menu_items', 'your_custom_menu_item',10,2);
function your_custom_menu_item ( $items, $args ) {
 if ($args->theme_location == 'primary-menu') {
        $items.="<li>Testing Menu</li>";
        return $items;
}
}