如何将特定类别的帖子类型的所有帖子显示在类别模板页面上?

时间:2014-01-15 07:05:11

标签: php mysql wordpress

我为此搜索了所有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”中的所有帖子都会被展示?

我能做些什么吗?我非常感谢您的回复,谢谢。

1 个答案:

答案 0 :(得分:0)

如果“起居室”是您的类别的slug,您应该使用'category_name'=&gt; '客厅'。 “类别”是错误的参数。