因为我假设你在使用wp_nav_menu()
, 应该有一节课current_page_parent
当查看单个帖子时,它将应用于帖子的页面菜单项。
您可以使用此类设置“活动”状态的样式,就像您可能正在使用current_page_item
目前。
如果(出于任何原因)你必须current_page_item
添加了,您可以过滤nav_menu_css_class
:
/**
* Add the class \'current_page_item\' to \'page for posts\' menu item if we\'re
* viewing a single post.
*
* @param array $class
* @param object $item The current menu item.
* @return array
*/
function add_current_class_to_posts_page( $classes, $item )
{
static $posts_page;
if ( ! is_single() )
return $classes;
if ( ! isset( $posts_page ) )
$posts_page = get_option( \'page_for_posts\' ); // cache as we may be calling this a lot!
if ( $item->object == \'page\' && $item->object_id == $posts_page )
$classes[] = \'current_page_item\'; // this is the posts page!
return $classes;
}
add_filter( \'nav_menu_css_class\', \'add_current_class_to_posts_page\', 10, 2 );