投稿内に関連記事のリンクを自動で挿入するショートコードを作ってみました。下記サイトを参考にしました。
http://wp.smashingmagazine.com/2009/02/02/mastering-wordpress-shortcodes/
1)ショートコードを作成
指定したカテゴリーの最新x記事のリンクを投稿内に挿入するショートコードを作成してみました。
functions.phpに下記コードを追加します。
function sc_ref_list($atts, $content = null) { extract(shortcode_atts(array( "num" => '3', "cat" => '' ), $atts)); global $post; $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category_name='.$cat); $sc_ret='<div class="panel panel-default">'; $sc_ret.='<div class="panel-heading">関連記事のリンク</div>'; $sc_ret.='<ul class="list-group">'; foreach($myposts as $post) : setup_postdata($post); $sc_ret.='<li class="list-group-item"><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>'; endforeach; $sc_ret.='</ul>'; $sc_ret.='</div>'; return $sc_ret; } add_shortcode("ref_list", "sc_ref_list");
2)ショートコードの内容の説明
①extract(shortcode_atts(array(“num” => ‘3’,”cat” => ”), $atts));
こちらの記事参照。
②get_posts
・category_nameパラメータは、カテゴリーのスラグを指定します。
・投稿日の降順で、指定した数の投稿を取得します。
③スタイル設定
ブートストラップ3のパネルを使ってスタイリングしてみました。
3)動作確認
投稿内で下記のように入力すると、カテゴリーのスラグがnewsの最新記事4つのリストが表示されます。
[ref_list num=”4″ cat=”news”]