プラグインを使わずにカテゴリーや記事数を指定して投稿一覧を表示する 【WordPress】

個人ブログ・コーポレートサイトを問わず、フロントページや固定ページのコンテンツ内に投稿一覧を表示するケースがよくあります。

プラグインで対応することもできますが、日本語化されていなかったり、デザインに制約があったりと問題があることもしばしば・・・。

そんな問題に直面した方向けに、今回はプラグインを使わずに投稿一覧を取得・表示する方法を紹介します

サンプルコードと解説

投稿一覧を表示したいページのphpファイル(front-page.php等)を編集します。

以下のコードを投稿一覧を表示したい箇所にコピペしてください。

<?php 
$wp_query = new WP_Query();

<!-- 取得する情報を指定 -->
$args = array(
        <!-- 投稿を取得する -->
              'post_type' => 'post',
        <!-- カテゴリースラッグ名が'info'の投稿を取得する -->
              'category_name' => 'info',
        <!-- 3件取得する -->
              'posts_per_page'=> '3',
       );

$wp_query->query( $my_posts01 );
?>

<!-- 投稿表示のループ -->
<?php if ($wp_query->have_posts()) : ?>
  <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
     <h3><?php the_title(); ?></h3>
     <div><?php the_content(); ?></div>
   <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata();?>

9行目のカテゴリーの指定については、他にもいろいろなパターンが用意されていて大変便利です。

以下、例を挙げておきますので必要に応じて使い分けてください。

①カテゴリーIDで投稿一覧を取得

'cat' => '3,4,10'

②カテゴリIDを配列で指定。(or指定、いずれかのIDのもの)

'category__in' => array(3,4, 10),

③カテゴリIDを配列で指定。(and指定、両方に属するもの)

'category__and' => array(3,4, 10),

④指定したカテゴリ以外の投稿一覧を取得

'category__not_in' => array(3,4, 10),

ちなみにcategoryをtagを置換すれば、tag情報でも投稿を取得することが可能です。

詳細は公式サイトをご確認くさだい。

参照:関数リファレンス/WP Query

コメント

タイトルとURLをコピーしました