我正在尝试在查看单个帖子时突出显示主要博客卷。帖子只有一个类别,没有显示此类别的菜单,所以我不能使用.current-post-ancestor。
我有以下功能,但我收到的错误我不明白。类别为“show”,博客页面的ID为15
//Highlight Blog Link in main menu when on post page
function post_css_class( $css_class, $page ) {
if (in_category('show') == $page->15 ) {
$css_class[] = '#header .menu .current_page_item a';
}
return $css_class;
}
add_filter( 'page_css_class', 'post_css_class', 10, 2 );`
感谢您的帮助
答案 0 :(得分:0)
function my_special_nav_class( $classes, $item ) {
if( is_single() && in_category('show') && $page->ID == 15 ) {
$classes[] = 'current_page_item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
可能有用吗?
无论如何,你不应该使用page_css_class,而是将其作为参考http://codex.wordpress.org/Plugin_API/Filter_Reference/nav_menu_css_class
答案 1 :(得分:0)
得到它 - 是的 - 所以如果其他人在寻找同样的东西,我的功能是:
function blog_link_genesis() {
if( is_single() && in_category('show')) {
$current = '#header .menu #menu-item-19 a'; }
?>
<style type="text/css">
<?php echo $current; ?> { color: #ef4634;}
</style>
<?php }
add_action( 'genesis_header' , 'blog_link_genesis' );
这是我添加的CSS
我可能在那里有多余的标记,如果有人想纠正它,请成为我的客人!
答案 2 :(得分:0)
这对我有用:
<?php if (is_single() || is_category() || is_tag() || is_search()) { // displaying a single blog post or a blog archive ?>
<script type="text/javascript">
jQuery("li.current_page_parent").addClass('current-menu-item');
</script>
<?php } ?>
它的工作原理是代码检查用户所在的页面是单个帖子还是存档(类别,标签或搜索)。
如果为true,导航菜单项li
标记类current_page_parent
(在您的情况下是“博客”链接)将被分配另一个本机WordPress导航菜单li
class {{ 1}}使链接显示为活动或突出显示,取决于它的样式。
如果您需要更多详情,请写一篇简短的文章来解释这个过程:Keep “Blog” link highlighted when viewing a single post