将类添加到unction.php中的特定li项菜单

时间:2018-08-13 作者:Lust

我想在主菜单的特定项中添加一个类。我使用的是:

function hideMenuItem ( $atts, $item, $args ) {

    $commerce = get_field(\'ecommerce\', \'option\');
    if (!$commerce){
        $menu_items = array(566,567, 363, 364 );
        if (in_array($item->ID, $menu_items)) {
           $atts[\'class\'] = \'hidden\';
        }

        return $atts;
    }else{

        $menu_items = array(566,567);
        if (in_array($item->ID, $menu_items)) {
           $atts[\'class\'] = \'visible\';
        }

        return $atts;
    }
}
add_filter( \'nav_menu_link_attributes\', \'hideMenuItem\', 10, 3 );
它只适用于li链接,但我希望将其应用于li。

1 个回复
SO网友:nmr

将CSS类添加到菜单项li, 使用筛选器nav_menu_css_class (codex).

add_filter(\'nav_menu_css_class\' , \'hideMenuItem\' , 15 , 4);

function hideMenuItem($classes, $item, $args, $depth) {

    $commerce = get_field(\'ecommerce\', \'option\');
    if ( !$commerce ) {
        $menu_items = array(566, 567, 363, 364 );
        if ( in_array($item->ID, $menu_items) ) {
           $classes[] = \'hidden\';
        }
    } 
    else {
        $menu_items = array(566, 567);
        if ( in_array($item->ID, $menu_items) ) {
            $classes[] = \'visible\';
        }
    }
    return $classes;
}

结束

相关推荐

Custom Menus and taxonomies

好的,我刚开始使用WordPress,不是很好,我有一个菜单问题,我真的需要一些帮助。我在一个网站上工作,它有多个地点,并非所有地点都销售相同的产品。所有位置都是具有父结构的页面。俄亥俄州-联系我们-关于我们-产品等。。。西弗吉尼亚州-联系我们-关于我们-产品等。。。宾夕法尼亚州-联系我们-关于我们-产品等我掌握了自定义页面模板的窍门,并为其添加了自定义菜单(因此,我所有的Ohio页面都使用了我制作的自定义Ohio模板,并包含了自定义Ohio菜单)。我正在使用帖子创建产品信息页面,并使用以下方式显示它们: