wordpressでカスタムしたクエリ結果を通常ループで回すGlobal変数に入れ込む方法

wordpressでメインループを回す時にhave_postsなどを使用してループさせるが、たまにカスタムしたクエリ結果をhave_postsで回したいときがある。

そのような時はhave_postsはGlobal変数の$wp_queryにクエリ結果を渡してやると通常ループで回すことができる

<?php 
$args = Array(
'post_type' => 'post', // 投稿
'posts_per_page' => 5, // 表示する投稿数(-1を指定すると全投稿を表示)
);
$wp_the_query = new WP_Query($arg);
$wp_query = $wp_the_query; //Global変数にクエリ結果を入れ込む
?>

<?php if(have_posts()): ?>
<?php while(have_posts()): the_post(); ?>
<!-- ループ内(ここから) -->

<!-- ループ内(ここまで) -->
<?php endwhile; ?>
<?php else: ?>
 <p>投稿がありません。</p>  //投稿がない場合
<?php endif; ?>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です