アイキャッチ付き最新〇件のショートコード化覚書

   

概要

アイキャッチ付き!アイキャッチがないときは準備した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]

※カッコは半角にする

参考

【WordPress】ショートコード作成の基本

雑感

カテゴリIDのとこはそのうち引数にしたりしたい。

0

 - WordPress