最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - Query multiple custom post types in single loop

programmeradmin6浏览0评论

I'm aware there are several other posts that cover similar ground to what I'm about to ask.

I have three custom post types running, in addition to 'posts'. I want to run a loop that pulls all posts categorised under a particular category

 <?php
          $args = array(
    'post_type' => 'testimonial',
    'posts_per_page' => 1,
    'tax_query' => array(
        array ( 
                'taxonomy' => 'testimonial_category',
                'field' => 'slug',
                'terms' => 'home'
    )
)
);
$query = new WP_Query( $args );
                $postcount = 0;
            ?>
            <?php if ($query->have_posts()) : ?>
                <?php while ($query->have_posts()) : $query->the_post(); ?>
                    <?php $postcount++; ?>
//loop here
<?php wp_reset_query(); ?>   

This is the code I have at the moment, not sure how I condense this into pulling in multiply post types from one category.

I'm aware there are several other posts that cover similar ground to what I'm about to ask.

I have three custom post types running, in addition to 'posts'. I want to run a loop that pulls all posts categorised under a particular category

 <?php
          $args = array(
    'post_type' => 'testimonial',
    'posts_per_page' => 1,
    'tax_query' => array(
        array ( 
                'taxonomy' => 'testimonial_category',
                'field' => 'slug',
                'terms' => 'home'
    )
)
);
$query = new WP_Query( $args );
                $postcount = 0;
            ?>
            <?php if ($query->have_posts()) : ?>
                <?php while ($query->have_posts()) : $query->the_post(); ?>
                    <?php $postcount++; ?>
//loop here
<?php wp_reset_query(); ?>   

This is the code I have at the moment, not sure how I condense this into pulling in multiply post types from one category.

Share Improve this question asked Jun 18, 2013 at 13:41 dannyw24dannyw24 4511 gold badge6 silver badges16 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 39

Just change the post_type bit to:

'post_type' => array('testimonial', 'other_post_type', 'another-post-type'),

Assuming that taxonomy is valid across all 3 post types. Otherwise you'll have to leave that out.

Why? You can pass an array to post_type field.

$args = array(
    'post_type'      => array( 'testimonial', 'post' ),
    'posts_per_page' => 1,
);
$query = new WP_Query( $args );

Edit Note: To query for multiple post types you would add an array() of post types instead of just querying for one.

发布评论

评论列表(0)

  1. 暂无评论