0
votes

I have defined multiple custom post types in my wordpress installation. I want to get latest posts from all the custom post types. all resources and tutorials I look into describes only getting latest post from one custom post type, not multiple.
is there any way to do this? for example assigning multiple values to post_type attribute in WP_Query objects or wp_get_recent_posts() function? if answer is yes exactly how to do this.
any help would be appreciated.

3

3 Answers

3
votes

It will fetch posts from multiple custom post type.

 query_posts( array(
 'post_type' => array( 'custom_post1', 'custom_post2', 'custom_post3', 
 'custom_post4' ),
 'cat' => 3,
 'showposts' => 5 )
 );
0
votes

First thing I want to clear here I do not know about WordPress but I can help you with the SQL query I assume you have date time column in your table .

select * from table name 
where column name in (here  write all your different types followed by comma )
order by your date time column name desc;

E.g.

 select * from posts where type in(1,2,3,4) order by created_on desc;
0
votes

Let's fetch your all custom post types.

$args = array('public'   => true, '_builtin' => false);

$output = 'names'; // names or objects, note names is the default
$operator = 'and'; // 'and' or 'or'

$post_types = get_post_types( $args, $output, $operator ); 

The $post_types is now an array containing all the custom post type names. Your all posts query should be like this

$allposts = array( 'posts_per_page'   => -1,
     'post_type'=> $post_types, 
     'orderby' => 'date',
     'order' => 'DESC'
);
$query = new WP_Query( $allposts );
if ( $query->have_posts() ) : 
    while ($query-> have_posts()) : $query -> the_post()

        the_permalink();
        the_title();
        the_content();
    endwhile; 
endif;