特定カテゴリーの記事一覧を呼び出す便利なphpを作ってみた
新着記事一覧は以前の記事でphpを作成しましたが、今回はまた別の記事一覧の取得方法です。
前回のものとの一番の違いは、ショートコードで呼び出し内容をある程度制御できる点です。
作成した例は下記になります。
今回はショートコードで管理を出来るようにするために、functions.phpへの記載となりますので、バックアップをしてから行うようにしましょう!
//最新記事の表示ショートコード function getNewItems($atts) { extract(shortcode_atts(array( "num" => '',//最新記事リストの取得数 "cat" => ''//表示する記事のカテゴリー指定 ), $atts)); global $post; $oldpost = $post; $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);//指定した記事数・記事カテゴリーを読み込み $retHtml='<ul>'; foreach($myposts as $post) : $cat = get_the_category(); $catname = $cat[0]->cat_name; $catslug = $cat[0]->slug; setup_postdata($post); $retHtml.='<li>'; $retHtml.='<span class="date">'.get_post_time( get_option( 'date_format' )).'</span>';//記事投稿日ココに挿入 $retHtml.='<span class="author_'.get_the_author_meta('ID').'">'.get_the_author().'</span>';//記事投稿者ココに挿入 $retHtml.='<span class="cat '.$catslug.'">'.$catname.'</span>';//記事カテゴリーココに挿入・カテゴリーのスラッグ名をspanのclassに追加 $retHtml.='<span class="title"><a href="'.get_permalink().'">'.the_title("","",false).'</a></span>';//記事タイトルココに挿入 $retHtml.='</li>'; endforeach; $retHtml.='</ul>'; $post = $oldpost; wp_reset_postdata(); return $retHtml; } add_shortcode("kiji_list", "getNewItems");//ショートコードの設定 //最新記事の表示ショートコード
こちらを、functions.phpに記載した後は、各記事投稿や固定ページの投稿などで
[kiji_list cat="" num="10"]
このショートコードを記載してください。
catの部分に何も書かなければ全記事から。
特定のカテゴリーにしたい場合は、カテゴリIDを入れてください。
numの部分は読み込む記事数になります。
※[が全角の[になっているのでコピペ注意です!
そうすると、下記のような感じで内容が羅列されますよ~。
この読み込みショートコードの優れた点は、カテゴリーのスラッグ名と、投稿ユーザーのユーザーIDをspanのclass名に反映されるようにしてあります。
なので、カテゴリーごとに、投稿者ごとに文字の色を変えるなどの装飾が出来る点が、意外と役に立ちますのでご活用ください。
私もつい最近、この色分けが必須で活用しました!