如何在定期存档中显示CPT

时间:2021-04-12 作者:aitor

我附上了默认分类法“;“类别”;至“a”;故事“;自定义帖子类型,注册时:

  \'show_in_rest\' => true,
  \'show_in_feed\' => true,
  \'taxonomies\'   => [\'category\'],
  \'has_archive\'  => true,
然后,我试着展示;故事“;使用默认模板发布类别术语:

http://localhost:3000/category/my-term/
但模板仅显示默认帖子,而不是CPT“;故事“;以及使用该术语的默认帖子。

CPT应如何“;故事“;是否包含在术语存档模板的默认wp\\U查询中?

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

您可以使用pre_get_posts 钩子以修改主查询或任何WP\\U查询。比如像这样,

add_action(
    \'pre_get_posts\',
    function($query) {
        // target only public category main query
        if (
            is_admin() ||
            ! $query->is_main_query() ||
            ! is_category()
        ) {
            return;
        }

        // include custom post type in the query
        $query->set( \'post_type\', array( \'post\', \'story\' ) );
    }
);