通过使用一个类别显示所有帖子和自定义帖子类型

安娜·克莱

我创建了一个帖子类型CPT UI

add_action( 'init', 'cptui_register_my_cpts_matratze' );
function cptui_register_my_cpts_matratze() {
    $labels = array(
        "name" => __( 'Matratzen', '' ),
        "singular_name" => __( 'Matratze', '' ),
        );

    $args = array(
        "label" => __( 'Matratzen', '' ),
        "labels" => $labels,
        "description" => "",
        "public" => true,
        "publicly_queryable" => true,
        "show_ui" => true,
        "show_in_rest" => false,
        "rest_base" => "",
        "has_archive" => true,
        "show_in_menu" => true,
                "exclude_from_search" => false,
        "capability_type" => "post",
        "map_meta_cap" => true,
        "hierarchical" => false,
        "rewrite" => array( "slug" => "matratze", "with_front" => true ),
        "query_var" => true,

        "supports" => array( "title", "editor", "thumbnail", "excerpt", "trackbacks", "custom-fields", "comments", "revisions", "author", "page-attributes", "post-formats" ),      
        "taxonomies" => array( "category", "post_tag" ),
            );
    register_post_type( "matratze", $args );

// End of cptui_register_my_cpts_matratze()
}

但是,当我想通过前端中的链接访问类别时,没有任何帖子。

例如,当您单击“我什么也没回来”时:

类别

该帖子已发布,类别为DaMi

发布

我的CPT UI Post Type配置有误吗?有什么建议我做错了吗?

艾伦

这里

默认情况下,WordPress网站上的类别页面将仅显示默认的“帖子”帖子类型,因此您需要在Wordpress通过添加pre_get_posts过滤器查询帖子之前添加CPT。

在此处添加代码:

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'matratze'); // don't forget nav_menu_item to allow menus to work!
    $query->set('post_type',$post_type);
    return $query;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将类别添加到自定义帖子类型并根据类别显示

排序和显示自定义帖子类型Wordpress

WP_Query以在Wordpress中按类别显示帖子(自定义帖子类型)

显示来自多个自定义帖子类型的特定类别的帖子

共享同一类别的两个自定义帖子类型

如何列出自定义帖子类型的所有类别?

在循环中显示自定义帖子类型(专门针对该帖子)的WordPress类别

在分类存档页面上以自定义帖子类型显示所有帖子

列出所有自定义帖子类型的所有帖子标题,并包含组

为什么所有自定义帖子类型都显示在“最近帖子”小部件中?

根据类别在3个不同的主页位置显示一种自定义帖子类型

WordPress自定义metabox,在帖子,页面和所有自定义帖子类型上加载?

显示自定义帖子类型存档的类别和帖子标题-Wordpress

wordpress-是否可以添加一个具有多种自定义帖子类型的帖子

WordPress的自定义帖子类型帖子不显示

通过单击另一个页面模板中的帖子标题,可以在特定的自定义wordpress模板中打开自定义帖子类型。

具有自定义字段类别的下一个/上一个自定义帖子类型

如何从自定义帖子类型获取自定义类别子弹和ID?

通过自定义帖子类型获取这些帖子的类别名称

我的自定义metabox显示所有帖子类型或页面

WORDPRESS:使用自定义帖子类型显示自定义分类法中某个类别的帖子

如何将一种自定义帖子类型的所有帖子显示到另一种自定义帖子框中?

自定义帖子类型分类页面仍显示所有帖子

使用自定义帖子类型作为另一个帖子类型 wordpress 的类别

通过另一个插件的 meta_value 在 WordPress 中订购自定义帖子类型

自定义帖子类型仅显示最近的帖子

当自定义类型帖子与另一个自定义类型帖子有连接时,如何获取自定义类型帖子数据?

显示自定义帖子类型类别 (Wordpress)

创建一个包含年份存档(自定义帖子类型)的所有链接的数组