我为此搜索了所有StackOverflow,但没有解决方案......
我正在尝试显示分配给我创建的post_type的特定类别的所有帖子。此类别的帖子列表(包括其标题,描述,图像等)将显示在特定类别的模板页面中。
澄清......我有一个名为“mch_room”的post_type。我为它创建了3个类别,分别是起居室,卧室和浴室。这些类别中的每一个都有自己的模板页面。在每个类别页面中,我想显示与该类别相关的所有帖子。所以category-31.php(Living Room的类别模板页面)将展示分配到“Living Room”类别的所有帖子,显示每个帖子的文本,特色图片等。
我已经非常接近让这个工作了,但是不是从SPECIFIC类别展示的所有帖子,所有类别的所有帖子都被显示;甚至在宣布特定类别之后。
这是我的代码:
Category-31.php的代码,它是“Living Room”类别的模板页面
<?php
$args = array(
'post_type' => 'mch_room',
'categories'=> 'living-room');
$my_query = new WP_Query( $args );
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_field('room_name'); ?></a></p>
<p><?php the_field('room_description'); ?></p><?php
endwhile;
}
wp_reset_query();
?>
function.php的代码,这是我注册了post_type“mch_room”和taxomony“category”的地方
add_action('init','add_categories_to_cpt');
function add_categories_to_cpt(){
register_taxonomy_for_object_type('category', 'mch_room');
}
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'mch_room',
array(
'labels' => array(
'name' => __( 'Rooms' ),
'singular_name' => __( 'Room' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'rooms'),
'hierarchical' => false,
'menu_position' => 2,
'taxonomies' => array( 'post_tag', "category"),
)
);
}
我不明白......我做错了什么?当我特意要求仅展示“客厅”类别的帖子时,为什么“mch_room”中的所有帖子都会被展示?
我能做些什么吗?我非常感谢您的回复,谢谢。
答案 0 :(得分:0)
如果“起居室”是您的类别的slug,您应该使用'category_name'=&gt; '客厅'。 “类别”是错误的参数。