かわたま.net

Enjoy Creative! かわたまのwebメモ

WordPressで特定のタグがついた記事一覧を表示させる記述方法【WP_Query】

2014 August 02

Tag:

記事毎の重要キーワードを設定できるWordPressのタグ機能。
今回は、特定のタグが付いた記事をピックアップして一覧表示したい場合の記述例です。WP_Query関数を使って記述してみました。

特定のタグが付いた記事を一覧表示

例えば「tama」というタグが付いた記事の一覧を5件表示させたい場合の記述例

<dl>
<?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('post_type=post' . '&posts_per_page=5' . '&tag=tama' . '&paged=' . $paged);
?>
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<!-- ループさせたい内容 -->
<dt class="date"><?php the_time('Y.m.d'); ?></dt>
<dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
<!-- ループさせたい内容 end -->
<?php endwhile; ?>
<?php $wp_query = null; $wp_query = $temp; ?>
</dl>  

とすることで表示させることができます。

6行目の、tag=hogehoge で表示するタグの指定、showpost=5 が最新記事を5件表示の指定です。
「ループさせたい内容」の中身はデザインによって変更してください。

特定のカテゴリー内で特定のタグが付いた記事を一覧表示

さらに、特定のカテゴリーの中から、特定のタグがついた記事一覧を取得したい場合は、6行目でカテゴリーを指定するパラメーターを追記します。
例えば「news」カテゴリーの中の、「tama」というタグが付いた記事の一覧を5件表示させたい場合の記述例

<dl>
<?php
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query();
$wp_query->query('post_type=post' . '&posts_per_page=5' . '&cat=news' . '&tag=tama' . '&paged=' . $paged);
?>
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<!-- ループさせたい内容 -->
<dt class="date"><?php the_time('Y.m.d'); ?></dt>
<dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
<!-- ループさせたい内容 end -->
<?php endwhile; ?>
<?php $wp_query = null; $wp_query = $temp; ?>
</dl>

このように、6行目で任意のパラメーターを複数指定できます。
参考にした記事:http://webkikaku.co.jp/