如何在wordpress菜单类列表中添加其他类
我希望为以下代码提供一个简单的解决方案:如何在wordpress菜单类列表中添加其他类,wordpress,wordpress-theming,Wordpress,Wordpress Theming,我希望为以下代码提供一个简单的解决方案: <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> 将替换为: class="nav-item menu-item menu-it
<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>
将替换为:
class="nav-item menu-item menu-item-type-custom menu-item-object-custom menu-item-11"
为了实现它,我需要一种有效的方法将其放入theme 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');
函数添加\u菜单类($ulclass){
返回preg_replace('/如果只是一个(或几个)菜单项,可以在外观菜单管理页面中执行此操作
在屏幕选项的右上角,确保选中了CSS类
,然后您将在菜单项上看到:
如果你需要通过编程来实现这一点,你可以使用过滤器。你应该避免使用正则表达式来实现这一点
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;
}
您好Xhynk,谢谢您提供的解决方案,非常感谢。但是我在想,如果可以直接通过php代码/js代码来实现该类,因为我正在尝试自定义一个主题,我不希望用户自己从css部分的菜单选项中设置该类,它应该是一个固定的类“nav项”应该会自动添加到类中。感谢您的支持。您看到我编写的函数了吗?将它粘贴到functions.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');
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;
}