[WordPress] get_option(‘posts_per_page’)で「表示する最大投稿数」を取得する
固定ページに「投稿」のループを表示させたい時などには、WP_Queryを使うと便利です。
コードは、次のようになります。
<?php $args = array( 'post_type' => 'post', //投稿を表示 'posts_per_page' => 10, //表示する件数 ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : ?> <ul> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> </ul> <?php endif; ?>
このコードですが、posts_per_pageの箇所で、表示する記事の件数を指定しています。
しかし、これでは表示件数を変更するたびにコードを直す必要があります。
WordPressの管理画面には表示する件数を設定することができます。
せっかくなので、この設定が先ほどのコードに反映するようにしましょう。
ここの設定された数値は、get_option(‘posts_per_page’) で取得することが可能です。
ですので、先ほどのコードは次のように記述することで、管理画面で設定した数値が連動します。
<?php $args = array( 'post_type' => 'post', //投稿を表示 'posts_per_page' => get_option('posts_per_page'), //表示する件数 ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : ?> <ul> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> </ul> <?php endif; ?>
このget_option()で取得できるデータは引数によって変えることが可能です。
データの種類はかなり多いのですが、公式のCodexに記載されています。
オプション設定リファレンス – WordPress Codex 日本語版