在查看帖子时将'active'类添加到wp_nav_menu

时间:2013-11-07 20:39:25

标签: php wordpress

我有一个Wordpress网站,主要由网页组成,但有一个页面(新闻部分)包含博客会发布的帖子和类别。我使用wp_nav_menu()生成导航,只显示顶级页面。我为当前链接设置了样式,并且当前链接的父级使用了wp_nav_menu()自动添加的.current-menu-item和.current-page-ancestor类。

但是,当您在新闻栏目中查看帖子时,导航栏中没有添加任何类别来表明您在该部分中,并且没有办法对&进行设置样式#34;新闻"链接显示它是用户所在网站的部分。

WP是否有办法了解"知道"那些帖子属于那个页面?它不是一个类别,因为网站的其他部分都不包含帖子,所以类别字段是开放的,编辑可以添加他们想要的任何类别。

2 个答案:

答案 0 :(得分:1)

您是否在“阅读”设置中将“新闻”页面设置为您的博客页面?如果是这样,它应该在您查看帖子时将“current-menu-parent”和“current-post-parent”添加到“新闻”<li>

答案 1 :(得分:0)

根据Wordpress template hierarchy(特别是this diagram),一个帖子正在显示一个名为single.php(或single-<post_type>.php的文件。来自某个类别的一组帖子将会显示由category-<post_type>.php模板文件显示。

现在,如果您遵守此层次结构,您将有另外两个模板 - 新闻列表和新闻详细信息页面。拥有这些模板的两个页面将使它们通过Wordpress菜单生成功能自动列出。

如果这还不够,您应该使用WP_Query手动列出您的网页。如果您决定这样做,那么一两个if语句就可以完成这项任务。