无法识别自定义分类归档模板

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

我有一个名为“products”的自定义帖子类型,它有一个称为“collections”的自定义分类法
这就是我注册分类法的方式。

$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\', \'byronposttypes\'),
        \'with_front\' => true,
        \'hierarchical\' => true,
        \'ep_mask\' => EP_CATEGORIES
    ],
];

register_taxonomy(\'collections\', \'products\', $productTaxonomyArgs);
register_taxonomy_for_object_type(\'collections\', \'products\');
我创建了一个名为taxonomy collections的分类法模板。php。

<?php

get_header();
$post = null;
echo \'<h1>taxonomy-collections.php</h1>\'; //Echo this to make sure the template works.
if (have_posts()) {
    while (have_posts()) { //rest of the code
当我导航到/collections/lifestyle (生活方式是分类术语之一)<title> 是“生活方式存档-[sitename]”,因此Wordpress确实将url识别为分类术语存档。问题是,它甚至没有回声<h1>taxonomy-collections.php</h1> 转到页面。这让我认为taxonomy-collections.php Wordpress无法识别<你知道我做错了什么吗?非常感谢您的阅读和帮助<我发现Wordpress正在退回索引。php。但是is_tax(); 退货true. 似乎没有一个特定于分类法的模板可以工作(taxonomy.php, taxonomy-collection.phptaxonomy-collection-lifestyle.php), 甚至没有archive.php 将起作用。

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

我刚刚发现我做错了什么。显然,您必须将归档页放在主题的根文件夹中
我将它们放在一个名为templates的子文件夹中。这适用于具有模板名称的页面模板,但不适用于taxonomy.php, archive.php, single.php

SO网友:Harry

试试这个代码,它对我有用。。

 function add_collection_taxonomies() {
        $productTaxonomyArgs = array(
        \'public\' => true,
        \'publicly_queryable\' => true,
        \'show_ui\' => true,
        \'show_in_menu\' => true,
        \'show_admin_column\' => true,
        \'description\' => __(\'Product category\', \'byronposttypes\'),
        \'hierarchical\' => true,
        \'rewrite\' => array(
            \'slug\' => __(\'collections\', \'byronposttypes\'),
            \'with_front\' => true,
            \'hierarchical\' => true,
            \'ep_mask\' => EP_CATEGORIES
        ),
    );
    register_taxonomy_for_object_type(\'collections\', \'products\');
    register_taxonomy(\'collections\', \'product\', $productTaxonomyArgs);

相关推荐

Custom term templates

所以,我在网上做了一些研究,但没有找到可靠的答案,所以我来了。我需要为特定类别创建自定义woocommerce类别页面。例如,我有一个类别叫做“Awesome”。而不是使用由短代码生成的常规类别页面[product_category category=\"something\"], 我想为自定义特定类别页面Awesome.我发现我需要编辑taxonomy-product_cat.php 但我不知道如何将其链接到名为awesome.换句话说,我正在考虑制作php文件的自定义副本,然后将其添加为主题templ