概要
アイキャッチ付き!アイキャッチがないときは準備したnophoto画像を表示させ!特定のカテゴリの最新〇件の投稿を表示したい!
・・・みたいな時にfunctions.phpにショートコードとしてゴリゴリ書いておくと固定ページとかウィジェット、それからグーテンベルクのショートコードブロックで簡単に呼び出せ使いまわせるので自分用に覚書。
functions.phpに記述する
//staffblog
function staffblog_shortcode() {
$args = array(
'posts_per_page' => '5', //表示件数を入れる
'cat' => 5, //カテゴリのIDを入れる
);
$query1 = new WP_Query( $args );
if ( $query1->have_posts() ) {
while ( $query1->have_posts() ) {
$query1->the_post();
$msg .= '<div class="topics-content"><dl class="topics-list">';
$msg .= '<dt><a href="' . get_permalink() . '" title="' .get_the_title(). '">';
if ( has_post_thumbnail() ){
$msg .= get_the_post_thumbnail( $thumbnail->ID, array( 300, 220 ) );
}else{
$msg .= '<img src="'.get_stylesheet_directory_uri().'/images/nophoto.png" alt="' .get_the_title(). '">';
}
$msg .= '</a></dt>';
$msg .= '<dd><a href="'.get_permalink().'">'.get_the_title().'</a>';
$msg .= '<p>'.get_the_excerpt().'</p>';
$msg .= '</dd>';
$msg .= '</dl></div>';
}
wp_reset_postdata();
}
return $msg;
}
add_shortcode('staffblog-sc', 'staffblog_shortcode');
ショートコード使用時
[staffblog-sc]
※カッコは半角にする
参考
雑感
カテゴリIDのとこはそのうち引数にしたりしたい。