WordPressで指定したカテゴリーに属する記事の一覧をショートコードを使って出力する方法

WordPressで指定したカテゴリーに属する記事の一覧をショートコードを使って出力する方法

WordPressで指定したカテゴリーに属する記事の一覧をショートコードを使って出力する方法

WordPressで指定したカテゴリーに属する記事の一覧を、ショートコードを使って出力する方法を紹介します。

当ブログでも設置していますが、記事の目次ページを作成する時などに便利です。

functions.phpでショートコードを作成する

まずは、functions.phpに以下のコードを追加して、記事の一覧を出力するショートコードを使えるようにします。


function getCatItems($atts, $content = null) {
 extract(shortcode_atts(array(
 "num" => '5',
 "cat" => ''
 ), $atts));
 global $post;
 $oldpost = $post;
 $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);
 $retHtml='<ul>';
 foreach($myposts as $post) :
 setup_postdata($post);
 $retHtml.='<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>';
 endforeach;
 $retHtml.='</ul>';
 $post = $oldpost;
 return $retHtml;
}
add_shortcode("list", "getCatItems");

“num”と”cat”は、デフォルトの表示数とカテゴリーを指定します。表示数やカテゴリーは、ショートコードを記述する際に指定できるので、とりあえず上記をそのままコピペで大丈夫です。

記事の一覧を出力する

functions.phpに上記コードを追加したら、あとは投稿や固定ページ内に以下のショートコードを記述すればOKです。

[[list cat="1" num="10"]]

catにはカテゴリーID、numには出力数を入力します。上記だと、カテゴリーIDの記事を10記事出力する、という意味になります。

テーマファイル内に直接記述する場合は、以下のようにdo_shortcode関数を使います。

echo do_shortcode('[[list cat="1" num="10"]]');

全記事を出力したい場合は、numの値を”-1″にしてください。

あとがき

気軽に一覧を出力できるので、非常に便利です。色んなところで活用できると思います。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です