如何在wordpress中只添加一个特定的导航项?



我使用这个函数在移动设备上将一个项目添加到我的主导航中,但它将该项目添加到我的所有导航中,而不仅仅是主导航。如何或在哪里添加参数来指定哪个导航正在获取add_last_nav_item()

if ( wp_is_mobile() ) {
function add_last_nav_item($items) {
return $items .= '<li class="text-center"><a href="#myModal" role="button" data-toggle="modal">TEST</a></li>';
}
add_filter('wp_nav_menu_items','add_last_nav_item');
}

您可以检查传递给wp_nav_menu_items过滤器的args:

if ( wp_is_mobile() ) {
function add_last_nav_item($items, $args) {
// Check the menu
if ( $args->theme_location == 'your-menu-here' ) {
return $items .= '<li class="text-center"><a href="#myModal" role="button" data-toggle="modal">TEST</a></li>';
}

// Returns the nav items if the condition isn't met.
return $items;
}
add_filter('wp_nav_menu_items','add_last_nav_item', 10, 2);
}

这里是关于wp_nav_menu_items的文档,这里是传递给过滤器的$args文档的链接:wp_nav_menu

顺便说一句,wp_is_mobile()并不是最好的检查用户是否在移动设备上。你可以考虑将菜单项添加到你想要的WP管理区域的菜单中,然后添加一个class将其隐藏在桌面上。

最新更新