避免使用分类法-如果有多个分类法,则为%Term%.php

时间:2017-11-07 作者:admcfajn

我有一个带有多个自定义分类法的网站,用于过滤帖子。

其中一个分类法具有taxonomy-%term%.php 模板文件。

/?country=the_country 显示国家分类法模板

但是/?topic=the_topic&country=the_country 还使用国家分类法模板。

有没有一种简单的方法可以避免加载taxonomy-country.php 如果要查询多个分类法,是否使用模板?

2 个回复
最合适的回答,由SO网友:admcfajn 整理而成

此处的解决方案由(as)找到jaswrks 已提到)删除taxonomy-country.php 完全归档。

的内容taxonomy-country.php 然后在分类法中有条件地加载。php

自定义post\\u类型(&U);分类法可以“重写”URL。在这种情况下,过滤分类法归档的相同url参数有时会与此url模式发生冲突,并导致不需要的结果。

简单的答案是禁用重写问题分类法的URL。

但一个更干净的选择是

remove_filter( \'template_redirect\', \'redirect_canonical\' );
。。。可用于禁用rewrite 自定义post\\u类型或分类中的属性

SO网友:jaswrks

请参见:Template Hierarchy

我的建议是,在这种情况下,不要使用特定于术语的模板文件,而只使用taxonomy.php, 在该文件中,您可以计算出所需的逻辑,以便呈现正确的输出;i、 例如,您可以检测多个分类法的使用,并根据需要进行调整。

结束

相关推荐

Taxonomy Templates

我不太明白如何链接到我的分类法模板。我需要做一个临时页面并从那里查询我的条款吗?我当前正在使用分类层次结构:Taxonomy$labels = array( \'name\' => __( \'Product Categories\' ), \'singular_name\' => __( \'Product Category\' ), \'search_items\' =>