在WP Genesis菜单中添加类,不包括其他菜单的类。

我们正在使用WordPress的Genesis主题,想在菜单中添加一些类。我们在网上做了一些搜索,发现了这段代码,效果很好,但问题是我们在页脚也有一个菜单,这个菜单正在获取这些类。

// Add a CSS class to a menu or menu item in WordPress
function modify_nav_menu_args( $args) {
        $args['menu_class'] .= ' genesis-nav-menu js-superfish sf-js-enabled sf-arrows'; 
        return $args;
}
add_filter( 'wp_nav_menu_args', 'modify_nav_menu_args' );

很好用,但问题是我们在页脚也有一个菜单,而这个菜单是由这些类来加载的。

我们没有使用 “主要 “或 “次要 “菜单来加载菜单,而是通过小部件来加载。

我如何使用上面的函数,并添加一个if语句,说我只想把这个css添加到名称为 “主菜单 “和ID为 “11 “的菜单中。如果不是 “主菜单”,或者你想用ID “11 “来做,那就添加其他类。

我已经找到了这样的东西。

function modify_nav_menu_args( $args ) {
 if( 'primary' == $args['theme_location'] ) {
 $args['menu_class'] .= ' special-class';
   }
return $args;
}
add_filter( 'wp_nav_menu_args', 'modify_nav_menu_args' );

但你用的是 “primary “的主题位置 而我们没有用 “primary “或 “secondary”.

谁能帮我解决如何用菜单名或ID来做这件事?

Var_dump $args

array(17) { ["menu"]=> object(WP_Term)#21050 (11) { ["term_id"]=> int(11) ["name"]=> string(9) "main menu" ["slug"]=> string(9) "main-menu" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(11) ["taxonomy"]=> string(8) "nav_menu" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["meta"]=> array(0) { } } ["container"]=> string(3) "div" ["container_class"]=> string(0) "" ["container_id"]=> string(0) "" ["menu_class"]=> string(4) "menu" ["menu_id"]=> string(0) "" ["echo"]=> bool(true) ["fallback_cb"]=> string(0) "" ["before"]=> string(0) "" ["after"]=> string(0) "" ["link_before"]=> string(0) "" ["link_after"]=> string(0) "" ["items_wrap"]=> string(36) "
%3$s
" ["item_spacing"]=> string(8) "preserve" ["depth"]=> int(0) ["walker"]=> string(0) "" ["theme_location"]=> string(0) "" }

解决方案:

$args 变量应该已经有了你需要的东西。

function modify_nav_menu_args( $args ) {
    if ($args['menu'] instanceof WP_Term && 'main-menu' == $args['menu']->slug) {
        $args['menu_class'] .= ' genesis-nav-menu js-superfish sf-js-enabled sf-arrows';
    }
    return $args;
}

给TA打赏
共{{data.count}}人
人已打赏
解决方案

类型稿通用返回值推理问题

2022-5-13 17:00:17

解决方案

使用Redux-Thunk与普通异步代码有什么区别?[包括实例]

2022-5-13 18:00:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索