我无法使用过滤器。我正在尝试向菜单的每个<li>
元素添加一个类。这是在我主题的functions.php
文件中:
/**
* Adds custom classes to the items in the nav menu
*
* @param array $classes Classes for the body element.
* @return array
*/
function nav_menu_item_classes( $classes, $item, $args, $depth ) {
// This is what I used to check that it's not working
error_log("is nav_menu_item_classes working?");
if ( 'menu-1' === $args->theme_location ) {
// Add the Bootstrap nav-item class
$classes[] = 'nav-item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'nav_menu_item_classes', 10, 4 );
这就是我在header.php
文件中调用菜单的方式:
<?php
wp_nav_menu( array(
'theme_location' => 'menu-1',
'menu_id' => 'primary-menu',
'menu_class' => 'navbar-nav',
) );
?>
所有内容似乎都匹配,但未执行过滤器。有什么事吗感谢您的帮助。
编辑:是的,显然您需要在适当的面板上手动创建菜单。这就是为什么它不起作用。但是页面以预先定义的Wordpress样式出现在菜单上...