投稿内に関連記事のリンクを自動で挿入するショートコードを作ってみました。下記サイトを参考にしました。
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”]