個人ブログ・コーポレートサイトを問わず、フロントページや固定ページのコンテンツ内に投稿一覧を表示するケースがよくあります。
プラグインで対応することもできますが、日本語化されていなかったり、デザインに制約があったりと問題があることもしばしば・・・。
そんな問題に直面した方向けに、今回はプラグインを使わずに投稿一覧を取得・表示する方法を紹介します!
サンプルコードと解説
投稿一覧を表示したいページの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情報でも投稿を取得することが可能です。
詳細は公式サイトをご確認くさだい。
コメント