我尝试在函数中动态隐藏一些菜单项(从唯一菜单)。php。我有一些子域。我向菜单项添加CSS类,然后根据当前子域隐藏它们。这是我的代码:
add_filter( \'wp_get_nav_menu_items\', \'hide_menu_item\', 10, 3 );
function hide_menu_item ( $items, $menu, $args ) {
$sub = array_shift((explode(".",$_SERVER[\'HTTP_HOST\'])));
if(!is_admin()){
foreach ( $items as $key => $item ) {
if ( $item->classes[0] == \'subdomain1\' && $sub != \'part1\' || $item->classes[0] == \'main\' && $sub != \'domain\') {
unset( $items[$key] );
}
}
}
return $items;
}
subdomain1 和
main 是类,
part1 是子域,并且
domain 是主域。一、 e。
main 是项目产品的类别,并且
subdomain1 是子项Smartphone的类。它们都显示在域上。com,并且产品隐藏在part1上。领域com。它可以工作,但问题是,子域part1上的智能手机被弹出到菜单的末尾,而它原来位于菜单的中间。
如何“保持”子项的位置或隐藏父项的位置?
最合适的回答,由SO网友:Sovnfield 整理而成
我在导航菜单中找到了答案。php,它并不太复杂。我刚刚更改了foreach循环内容,如下所示:
if($item->classes[0] == \'subdomain1\' && !empty( $item->menu_item_parent )){
$item->menu_item_parent = \'\';
}elseif($item->classes[0] == \'main\' && $sub != \'domain\'){
unset($items[$key]);
}
希望能有所帮助!