我创建了一个帖子类型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] 删除。
我来说两句