首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义分类法不显示在自定义post循环中。

自定义分类法不显示在自定义post循环中。
EN

WordPress Development用户
提问于 2021-11-08 15:51:36
回答 1查看 68关注 0票数 0

所以我想我可能要疯了什么的。我有一个定制的post类型(arkiv),它有两个自定义分类(类型和作者),我试图在循环中的模板页面上列出文章,并显示帖子标题和两个分类,但我无法让它工作。文章的标题是列出的,但没有分类。

我的CPT看起来是这样的:

代码语言:javascript
复制
function post_archive() {
  $labels = array(
    'name'                => _x( 'Arkiv & Samlingar', 'twentytwenty' ),
    'singular_name'       => _x( 'Arkiv & Samlingar', 'twentytwenty' ),
    'menu_name'           => __( 'Arkiv & Samlingar', 'twentytwenty' ),
    'all_items'           => __( 'Alla Arkiv & Samlingar', 'twentytwenty' ),
    'view_item'           => __( 'Visa Arkiv & Samlingar', 'twentytwenty' ),
    'add_new_item'        => __( 'Lägg till Arkiv & Samlingar', 'twentytwenty' ),
    'add_new'             => __( 'Lägg till Arkiv & Samlingar', 'twentytwenty' ),
    'edit_item'           => __( 'Ändra Arkiv & Samlingar', 'twentytwenty' ),
    'update_item'         => __( 'Uppdatera Arkiv & Samlingar', 'twentytwenty' ),
    'search_items'        => __( 'Sök Arkiv & Samlingar', 'twentytwenty' ),
    'not_found'           => __( 'Fann inget', 'twentytwenty' ),
    'not_found_in_trash'  => __( 'Fann inget i Papperskorgen', 'twentytwenty' ),
  ); 
  $args = array(
    'label'               => __( 'arkiv', 'twentytwenty' ),
    'labels'              => $labels,
    'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_icon'           => 'dashicons-book',
    'menu_position'       => 5,
    'can_export'          => true,
    'has_archive'         => false,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'capability_type'     => 'post',
    'show_in_rest'        => true,
    'taxonomies'          => array('genre', 'author'),
  );   
  register_post_type( 'arkiv', $args );
}
add_action( 'init', 'post_archive', 0 );

我的两个分类法是这样的:

代码语言:javascript
复制
add_action( 'init', 'genre', 0 );
function genre() {
  $labels = array(
    'name' => _x( 'Subjects', 'taxonomy general name' ),
    'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Subjects' ),
    'all_items' => __( 'All Subjects' ),
    'parent_item' => __( 'Parent Subject' ),
    'parent_item_colon' => __( 'Parent Subject:' ),
    'edit_item' => __( 'Edit Subject' ), 
    'update_item' => __( 'Update Subject' ),
    'add_new_item' => __( 'Add New Subject' ),
    'new_item_name' => __( 'New Subject Name' ),
    'menu_name' => __( 'Subjects' ),
  );    
  register_taxonomy('genre',array('arkiv'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'genre' ),
  ));
}
代码语言:javascript
复制
add_action( 'init', 'author', 0 );
function author() {
  $labels = array(
    'name' => _x( 'Subjects', 'taxonomy general name' ),
    'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Subjects' ),
    'all_items' => __( 'All Subjects' ),
    'parent_item' => __( 'Parent Subject' ),
    'parent_item_colon' => __( 'Parent Subject:' ),
    'edit_item' => __( 'Edit Subject' ), 
    'update_item' => __( 'Update Subject' ),
    'add_new_item' => __( 'Add New Subject' ),
    'new_item_name' => __( 'New Subject Name' ),
    'menu_name' => __( 'Subjects' ),
  );    
  register_taxonomy('author',array('arkiv'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'author' ),
  ));
}

我的CPT出现了,分类法也出现了,它们在那里,我把分类法分配给那里的帖子,但是当我试图列出帖子的时候,我只得到标题而没有分类。

我的问题是:

代码语言:javascript
复制
 'arkiv', 
  'post_status' => 'publish',
  'posts_per_page' => -1, 
  'orderby' => 'date', 
  'order' => 'DESC'
);
$the_query = new WP_Query( $args ); ?>
have_posts() ) : ?>
  have_posts() ) : $the_query->the_post(); ?>
    
    
    ID, 'author', 'Author: ', ', ', ' ' ); ?>
    ID, 'genre', 'Genre: ', ', ', ' ' ); ?>

我不明白我做错了什么,谢谢。

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2021-11-08 19:48:55

在调用$post之后,您还没有公开全局$the_query->the_post()变量。

或者在调用$the_query->the_post()之后添加D3,或者用get_the_ID()替换$post->ID

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/397857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档