概要
アイキャッチ付き!アイキャッチがないときは準備した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のとこはそのうち引数にしたりしたい。