自定义分类归档插件覆盖静态页面

时间:2017-03-23 作者:Connor

我创建了一个自定义帖子类型,它有自己的自定义分类法:

$productTaxonomyArgs = [
        \'public\' => true,
        \'publicly_queryable\' => true,
        \'show_ui\' => true,
        \'show_in_menu\' => true,
        \'show_admin_column\' => true,
        \'description\' => __(\'Product category\', \'byronposttypes\'),
        \'hierarchical\' => true,
        \'rewrite\' => [
            \'slug\' => \'collections\',
            \'with_front\' => true,
            \'hierarchical\' => true,
        ],
    ];

register_taxonomy(\'product-categories\', \'products\', $productTaxonomyArgs);
register_taxonomy_for_object_type(\'product-categories\', \'products\');
问题是,我需要有2个静态页面,其中包含slug/collections/lifestyle和/collections/traditional。这两个术语都是自定义分类法的术语,归档文件优先显示在静态页面上。我认为这些页面需要是静态页面的原因是,布局与其他归档页面不同<我想知道这是否可行,如果可行,如何实现。提前感谢!

1 个回复
SO网友:Mark Kaplun

这是不可能的。wordpress解析URL时,页面是最低优先级(或回退默认值),这意味着任何具有相同URL但不是页面的内容都会“赢得”它们。

您只需要使用为archieve的页面模板编写的相同代码。您可以使用有关文件名的说明here 使针对特定分类法或术语变得非常容易

相关推荐

如何将Page-{slug}.php这样的页面模板文件移到子目录中?

我想移动页面模板文件,如page-{slug}.php 到我的主题中的子目录,WordPress将自动识别它们。如果所述表单的页面模板在子目录中不存在,那么WordPress应该回到默认的模板加载规则。我如何才能做到这一点?Note-1: This 对于页面模板和this 链接提及template-parts/page, 这不是一回事。Note-2: 我有多个page-{slug}.php 像页面模板文件一样,我想将它们移动到子目录中,以获得更整洁的文件组织。