我不知道为什么在你的情况下不起作用。。。正如您所说,活动页面应该将“current\\u menu\\u item”添加到其类中。如果您由于一个原因或另一个原因遇到问题,您可以始终使用“nav\\u menu\\u css\\u class”过滤器添加您自己的类。这一小段代码将基本上复制“当前菜单项”&;\'当前\\u menu\\u parent“类,并添加“has\\u children”类(对可扩展或下拉菜单有用):
function check_for_submenu($classes, $item) {
global $wpdb, $post;
if ($item->ID == $post->ID) array_push($classes,\'current_menu_item\');
$has_children = $wpdb->get_var("SELECT COUNT(meta_id) FROM wp_postmeta WHERE meta_key=\'_menu_item_menu_item_parent\' AND meta_value=\'".$item->ID."\'");
if ($has_children > 0) {
array_push($classes,\'has_children\');
$child_pages = $wpdb->get_col("SELECT c.meta_value FROM wp_postmeta AS c, wp_postmeta AS th
WHERE c.meta_key = \'_menu_item_object_id\' AND c.post_id = th.metavalue
AND th.meta_key= \'_menu_item_menu_item_parent\' AND th.post_id = {$item->ID}");
if (in_array($post->ID,$child_pages)) array_push($classes,\'current_menu_parent\');
}
return $classes;
}
add_filter( \'nav_menu_css_class\', \'check_for_submenu\', 10, 2);
当然,在破解某些东西以复制它之前,您想知道为什么内置功能不适合您,但如果需要,您可以使用该过滤器做很多事情。。。