やりたいこと
have_posts() ループの中で the_post() で投稿を取得する際のSQLで LIMIT を指定しないようにしたい
実現方法
have_posts() ループを実行する前に、query_posts() 関数を呼び出してクエリを改変する。
サンプルコード
<?php
// 投稿数の制限を解除する
$args = array(
'post_type' => 'products',
'fields' => 'ids',
'posts_per_page' => -1
);
query_posts( $args );
// 実行するSQLを確認しながらパラメータを調整する
// global $wp_query;
// var_dump( $wp_query );
if (have_posts()) :
while (have_posts()) : the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;
else:
// 何も取得されなかった
endif;
?>
参考URL
テンプレートタグ/query posts
posts_per_pageで全件表示
関数リファレンス/WP Query
wp-includes/query.php