如何更改EP_NAV_MENU中$MENU_CLASS的值?

时间:2014-01-09 作者:moslem

如何更改wp\\u nav\\u menu()中$menu\\u class参数的值,以便为菜单中的一个项目(例如“Home”)提供一个特殊的css类?下面是一些代码,但他们根本没有向我显示消息:

function clear_nav_menu_item_id($id, $item, $args) {
    echo "nav_menu_item_id";
}

add_filter(\'nav_menu_css_class\', \'clear_nav_menu_item_class\', 10, 3);
function clear_nav_menu_item_class($classes, $item, $args) {
    echo "nav_menu_css_class";
}

2 个回复
SO网友:Chittaranjan

没有必要为此添加任何代码。您可以使用Screen Options 在菜单管理端实现这一点。请检查以下说明。

登录wordpress站点的管理端并导航到Appearance => Menus 部分

  • 单击需要为其设置不同类的菜单项上的向下箭头。

    然后单击Screen Options 链接到屏幕右上角。

    检查/单击CSS Classes 选项选中后,它将显示一个附加字段CSS Classes (optional) 在先前展开的菜单项下方。

    现在在字段中提供任何自定义类,并在主题的css文件中添加相应的css代码。

  • Note:

    <这些步骤基于Wordpress 3.8版本,如果使用不同版本,可能会略有不同

    SO网友:Abhik

    给你。。

    /* Add a custom class to a specific menu item */
    
    function my_class( $classes, $item, $args ) {
    if($args->theme_location == \'location-slug\'){
        if( $item->ID == 1 ) { //By Menu Item ID
            $classes[] = \'menuitemid1\';
        }
        if( $item->title == \'Blog\' ) { //By Menu Item Title
            $classes[] = \'blogmenuitem\';
        }
    }
        return $classes;
    }
    add_filter( \'nav_menu_css_class\', \'my_class\', 10, 2 );
    
    资料来源:Add Custom Class To WordPress Menu Items

    结束

    相关推荐

    意外删除了wp_options数据库表的active_plugins部分

    好吧,所以我很确定我在这里完蛋了,因为我没有数据库备份,但我想我还是问问以防万一。在PhpMyAdmin中,我的意思是只需转到wp\\u options表并清空该表中的active\\u plugins部分,因为插件错误而无法登录。我点击了删除按钮,而不是清空它。是否有任何方法可以手动添加此表的active\\u插件部分?我尝试了修复数据库的方法,但没有成功。