我正在使用WordPress开发一个图片库网站。我有相册和画廊,有不同的永久链接。。。http://url.com/albums
和http://url.com/gallery
, 但主导航中只显示相册。
我的导航代码如下所示:
<div id="nav">
<ul>
<?php wp_list_pages("title_li="); ?>
</ul>
</div>
因为我正在使用
wp_list_pages()
函数,则您所在的当前页面将获取
current_page_item
类添加到
li
标签
库页面不是主导航的一部分,因此当有人查看其中一个库页面时,主导航中不会突出显示任何内容。
当有人查看gallery页面时,我想在主导航中突出显示相册页面。因为每个图库都在相册中,所以突出显示该页是有意义的。
有人能给我指出正确的方向吗?
谢谢,乔希
最合适的回答,由SO网友:Milo 整理而成
这个page_css_class
filter 用于修改每个菜单项获得的类。
这里我们检查当前是否正在查看单数envira
post类型和菜单项slug为gallery
. 在这种情况下,我们向传递给函数的默认类数组中添加一个类。
function wpd_page_css_class( $css_class, $page ){
if( is_singular( \'envira\' ) && \'albums\' == $page->post_name ){
$css_class[] = \'current_page_item\';
}
return $css_class;
}
add_filter( \'page_css_class\', \'wpd_page_css_class\', 10, 2 );