我想要以下代码的简单解决方案:
<li id="menu-item-11" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a class="nav-item-child nav-item-hover"href="#">Contact</a></li>
我想在” <li>”部分的类中放置其他类” nav-item”, 使所有内容保持不变, 因此代码将显示如下:
<li id="menu-item-11" class="nav-item menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a class="nav-item-child nav-item-hover"href="#">Contact</a></li>
含义如下:
class="nmenu-item menu-item-type-custom menu-item-object-custom menu-item-11"
将被替换为:
class="nav-item menu-item menu-item-type-custom menu-item-object-custom menu-item-11"
我想要一种有效的方法将其放入主题function.php文件中以实现它。我尝试了以下代码:
function add_menuclassli($ulclass) {
return preg_replace('/<ul /', '<li class="nav-item menu-item menu-item-type-custom menu-item-object-custom"', $ulclass);
}
add_filter('wp_nav_menu', 'add_menuclassli');
但是我停留在最后一部分” menu-item-11″-因为项目号是唯一的, 并且会为每个列表单独生成。请帮忙!!!
#1
如果仅用于一个(或几个)菜单项, 则可以在外观>菜单管理页面中执行此操作。
在右上角的”屏幕选项”中, 确保选中” CSS类”, 然后你将在”菜单项”上看到它:
如果你需要以编程方式进行此操作, 则可以使用nav_menu_css_class过滤器。你应该避免对此类事情使用正则表达式!
add_filter( 'nav_menu_css_class', 'add_nav_item_class', 10, 4 );
function add_nav_item_class( $classes, $item, $args, $depth ){
$classes[] = 'nav-item';
return $classes;
}
评论前必须登录!
注册