如果这是一个很难理解的问题,我很抱歉,但实际上这是一个模板层次结构/重写问题。
我已经设置了一些成功的重写规则,但我希望可以操纵它们来调用层次结构中的不同模板文件,以便更合理地控制归档页面。我有一个团队新闻自定义帖子类型和一个运动分类法。我的目标是建立一个只包含特定运动项目帖子的团队新闻档案,以及一个单独的运动档案,用于所有与该分类相关的帖子和页面。不幸的是,我只能通过当前的重写访问体育分类法档案,而不能访问团队新闻CPT档案。
以下是我的重写规则,并解释了我的想法:
add_rewrite_rule(\'^athletics/team/([^/]*)/news/?\',\'index.php?post_type=team-news&sport=$matches[1]\', \'top\');
这一个带来了taxonomy-sport.php
, 虽然我希望它能archive-team-news.php
. 我需要sport=
部分原因是,我只想展示这项运动的球队新闻帖子。add_rewrite_rule(\'^athletics/sport/([^/]*)/?\',\'index.php?sport=$matches[1]\', \'top\');
这一条正好提到taxonomy-sport.php
正如我所希望的那样。根据查询监视器插件,请求url时的模板层次结构/athletics/team/varsity-football/news/
这是:
分类体育大学足球。php分类运动。php——它使用的是分类法。php存档团队新闻。php---我希望它是归档文件。php索引。php有没有办法制作归档团队新闻。php是否适用于该URL?我需要吗filter the hierarchy? 我对WP很陌生,所以我不想改变太多。。。
EDIT 1: 为了简化我的目标--
?post_type=[1]&taxonomy=[2]
将始终拉出taxonomy 据我所知,存档页。我能把它拉上来吗post-type 是否改为存档页面?
EDIT 2: 我已将第一条重写规则的第二个参数更改为\'index.php?post_type=team-news\'
, 现在将显示正确的存档页面(archive-team-news.php
) 但我仍然需要以某种方式通过分类法进行进一步筛选。
注意:分类法slug在URL中为athletics/team/[taxonomy]/news/
, 所以现在我想parse the URL for that value in PHP, 但我更喜欢WP解决方案(不太老套)。