自定义帖子类型,全局类别-模板名称是什么?

时间:2019-08-08 作者:Khom Nazid

这个documentation for template hierarchy 自定义帖子类型(CPT)包括:

CPT本身(archive-cptname.php)taxonomy-taxonomyname.php)category-catname.php)archive-cptname-categoryname.php, 但这行不通。有什么指示吗?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

因为根本没有这样的事。

如果您对两个或多个帖子类型使用相同的分类法,那么在该分类法的术语中,每个帖子类型都没有单独的归档。该分类法有一个单独的归档,其中列出了两种帖子类型的帖子。但这可能不适用于内置分类法(类别和标记),因为它们被配置为仅显示帖子。要在类别存档中显示您的帖子类型,您需要使用pre_get_posts 要添加的筛选器:

add_filter(
    \'pre_get_posts\',
    function( $query ) {
        if ( $query->is_category() ) {
            $query->set( \'post_type\', [ \'post\', \'cptname\' ] );
        }
    }
);
如果每个帖子类型的类别需要单独的归档,那么需要为帖子类型注册单独的分类法。类似于cptname_category. 他们不会共享条款,但会有单独的档案。

相关推荐