WordPress

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

概要

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

  • この記事を書いた人

ゆず

忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
一杯おごる

-WordPress
-