Ann*_*lee 6 wordpress custom-post-type
我创建了一个帖子类型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()
}
Run Code Online (Sandbox Code Playgroud)
但是,当我想通过我前端的链接访问类别时,我没有帖子.
例如,当你点击我什么都没有回来:
该帖子已开启且具有以下类别DaMi:
我配CPT UI Post Type错了吗?有什么建议我做错了吗?
看看这里
\n\n默认情况下,您的 WordPress 网站上的类别页面将仅显示默认的 \xe2\x80\x98Posts\xe2\x80\x99 帖子类型,因此您需要在 WordPress 查询帖子之前通过添加 pre_get_posts 过滤器来添加 CPT。
\n\n此处添加代码:
\n\nadd_filter(\'pre_get_posts\', \'query_post_type\');\nfunction query_post_type($query) {\n if( is_category() ) {\n $post_type = get_query_var(\'post_type\');\n if($post_type)\n $post_type = $post_type;\n else\n $post_type = array(\'nav_menu_item\', \'post\', \'matratze\'); // don\'t forget nav_menu_item to allow menus to work!\n $query->set(\'post_type\',$post_type);\n return $query;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n