記事IDやカテゴリを指定してショートコードで投稿を表示:WordPress
最終更新日:
記事IDやカテゴリを指定して
[kiji postid="11"]
等のようにショートコードで投稿情報を呼び出す方法をメモ
実装
functions.phpに
function kijiFunc($atts) {
extract(shortcode_atts(array(
'mode' => null,
'type' => null,
'catid' => null,
'id' => null,
'y' => null,'m' => null,'d' => null,
'numberposts' => 5,
'offset' => null,
'order' => 'DESC',
'orderby' => 'post_date',
'meta_key' => null,
'postid' => null,
'exclude' => null,
),$atts));
if($mode != null) $mode = '&'.$mode.'='.$id;
$post = get_posts('post_status=publish&numberposts='.$numberposts.'&offset='.$offset.'&order='.$order.'&orderby='.$orderby.'&include='.$postid.'&year='.$y.'&monthnum='.$m.'&day='.$d.'&exclude='.$postid.','.$exclude.'&meta_key='.$meta_key.$mode.'&cat='.$catid);
$echo ="";
foreach ($post as $item){
$img = wp_get_attachment_image_src(get_post_thumbnail_id($item->ID),'home-thum',false);
$date = date('Y.m.d',strtotime(get_post($item->ID)->post_date));
$update = date('Y.m.d',strtotime(get_post($item->ID)->post_modified));
//出力ソース
$echo .= '<div class="postbox"><div class="pic"><a href="'.get_permalink($item->ID).'" ><img src="'.$img[0].'" /></div><div class="kijiinfo"><p class="ttl">'.$item->post_title.'</p><div class="date">'.$date.'</div></div></a></div>';
}
return $echo;
}
add_shortcode('kiji','kijiFunc');
と記載します。
以下実装例と説明です。
記事IDで投稿を指定
単一で記事をIDで指定する場合は
[kiji postid="2"]
のように記載します。
↑このように表示されます。
カテゴリを指定して投稿を出力
次に、カテゴリID(7)を指定して投稿を3記事出したい場合などは
[kiji catid="7" numberposts="3"]
のように記載することで
↑このように表示されます。
WordPressのおすすめ参考書
bookfan 1号店 楽天市場店
¥3,300 (2026/01/20 15:42時点 | 楽天市場調べ)



