Php 添加';主动';查看帖子时,将类设置为wp_nav_菜单

Php 添加';主动';查看帖子时,将类设置为wp_nav_菜单,php,wordpress,Php,Wordpress,我有一个Wordpress网站,主要由页面组成,但有一个页面(新闻部分)像博客一样包含帖子和类别。我正在使用生成导航,只显示顶级页面。我为当前链接和当前链接的父级设置了样式,它们使用wp_nav_menu()自动添加的.current菜单项和.current page祖先类 但是,当您在新闻部分中查看帖子时,nav中不会添加任何类来表示您在该部分中,并且无法设置“新闻”链接的样式来显示用户所在站点的部分 有没有办法让WP“知道”帖子属于那个页面?它不是一个类别,因为网站的其他部分都不包含帖子,所

我有一个Wordpress网站,主要由页面组成,但有一个页面(新闻部分)像博客一样包含帖子和类别。我正在使用生成导航,只显示顶级页面。我为当前链接和当前链接的父级设置了样式,它们使用wp_nav_menu()自动添加的.current菜单项和.current page祖先类

但是,当您在新闻部分中查看帖子时,nav中不会添加任何类来表示您在该部分中,并且无法设置“新闻”链接的样式来显示用户所在站点的部分

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

根据(特别是)一个名为
single.php的文件显示一篇帖子(或
single-.php
。类别中的一组帖子将通过
category-.php
模板文件显示

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


如果这还不够,您应该使用
WP\u Query
手动列出您的页面。如果您决定这样做,一个或两个If语句就可以完成这项工作。

您是否在“阅读”设置中将“新闻”页面设置为您的博客页面?如果是,它应该将类“当前菜单父项”和“当前帖子父项”添加到“新闻"
  • 当您查看帖子时。

    我有一个.php模板。我不需要单独的类别模板,因为类别仅用于内部组织目的。我有一堆静态页面,每个页面都有自己的模板。其中之一是news.php,它有一个循环来遍历帖子并显示它们。我想要查看单个帖子时,nav上将突出显示“news”。是否可以使用WP_Query回显您的nav?这是我能看到的最简单的解决方案。当我这样做时,news停止使用news.php作为模板,并开始使用home.php,这是我的主页模板。我不知道为什么会发生这种情况,但除非我在“阅读设置"。它将使用
    index.php
    作为模板。如果您不想切换
    index.php
    模板,您应该能够使用CSS将目标设置为新闻菜单项。页面主体应具有类
    。新闻条目的单个
    ,每个菜单
    li
    将具有唯一的ID。类似于:
    .single#menu-item-58{//CSS HERE}
    。我有一个index.php模板,它是news.php的副本。新闻部分忽略了该模板,而使用了home.php,这是完全不相关的。我不知道是什么原因,因为它毫无意义。新闻页面也是你的主页吗?