特定カテゴリーの記事一覧を呼び出す便利なphpを作ってみた
新着記事一覧は以前の記事でphpを作成しましたが、今回はまた別の記事一覧の取得方法です。
前回のものとの一番の違いは、ショートコードで呼び出し内容をある程度制御できる点です。
作成した例は下記になります。
今回はショートコードで管理を出来るようにするために、functions.phpへの記載となりますので、バックアップをしてから行うようにしましょう!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | //最新記事の表示ショートコード 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に記載した後は、各記事投稿や固定ページの投稿などで
1 | [kiji_list cat= "" num= "10" ] |
このショートコードを記載してください。
catの部分に何も書かなければ全記事から。
特定のカテゴリーにしたい場合は、カテゴリIDを入れてください。
numの部分は読み込む記事数になります。
※[が全角の[になっているのでコピペ注意です!
そうすると、下記のような感じで内容が羅列されますよ~。
この読み込みショートコードの優れた点は、カテゴリーのスラッグ名と、投稿ユーザーのユーザーIDをspanのclass名に反映されるようにしてあります。
なので、カテゴリーごとに、投稿者ごとに文字の色を変えるなどの装飾が出来る点が、意外と役に立ちますのでご活用ください。
私もつい最近、この色分けが必須で活用しました!