query_postsでカスタムポストと通常の投稿を混ぜて一覧表示

query_postsでカスタムポストと通常の投稿を日付順にまとめて表示する必要があったのでコードメモ。

カスタムポストでイベント情報を登録するものとする。

<?php $paged = get_query_var('paged'); ?>
<?php 
	query_posts( array(
	 'post_type' => array('post','event'),
	 'tax_query' => array(
	 	'relation' => 'OR',
	            array(
	                'taxonomy' => 'event-category',
	                'field' => 'slug',
	                'terms' => array(
	                    'event1','event2','event3','カスタムポストのスラッグ',
	                ),
		   		),
	            array(
	                'taxonomy' => 'category',
	                'field' => 'slug',
	                'terms' => array(
	                    'カテゴリのスラッグ1', 'カテゴリのスラッグ2', 'カテゴリのスラッグ3', 'カテゴリのスラッグ4', '',
	                ),
	            ),
		),
	 'posts_per_page' => 5,
	 'paged' => $paged
	)); 
?>
        <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
       <?php endwhile; endif; ?>

PHP, WORDPRESS

Posted by bistro