Snow Monkey RSS ブロックでアイキャッチ画像を表示するのに必要なこと

  • ブックマーク

Snow MonkeyテーマとSnow Monkey Blocks プラグインを組み合わせると、ブロックエディターにて、WordPress標準のRSSブロックに加えて、Snow Monkey BlocksのRSSブロックが利用できる。標準のRSSブロックと違い、Snow Monkeyのアイキャッチ画像が有る記事一覧レイアウト表示できるので便利だ。

ただし、RSSを使ってアイキャッチ画像を表示するなら2つの注意点がある。

1つ目は、アイキャッチ画像のデータは、初期設定のRSSフィードに出力されていないため、RSSフィードを使って記事一覧を表示したいブログ側(RSSブロックを配置する側でない)、言い換えると、RSSフィードを配信する側のfunctions.phpにコードを追記することが必要となること。

2つ目は、RSSフィードで記事一覧を表示すると、WordPressのキャッシュが有効になっており、なかなか表示が変更されないため、キャッシュを無効にするコードを、RSSブロックを配置したWordPressのfunctions.phpに追記する点だ。

アイキャッチ画像をRSSに加える

こちらのコードをRSSを配信するWordPressのfunctions.phpに追記するとOK。WordPressのコアファイルをカスタマイズする手法も、検索するとヒットするが、コアファイルを書き換えるとアップデートで困るので、必ずfunctions.phpからフックを使うコードでカスタマイズする。

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = get_the_post_thumbnail($post->ID) . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

function custom_attribute( $html ){
$html = preg_replace('/(width|height)="\d*"\s/', '', $html);
return $html;
}
add_filter( 'post_thumbnail_html', 'custom_attribute' );

こちらの記事を参考にしている。感謝です。

RSSのキャッシュを無効にする

デフォルトでは12時間のキャッシュが備わっている。つまり1度RSSを読むと12時間は変更が反映されない。それは、ちょっとキツイので、下のコードをRSSフィードを表示したいWordPressのfunctions.phpに追記する。

function fetch_feed_no_cache(&$feed) {
	$feed->enable_cache(false);
}
add_action( 'wp_feed_options', 'fetch_feed_no_cache' );

こちらの記事を参考にしている。感謝です。

ブログを書く中で、1番参考になった書籍はこちら。

ブログの文章を組み立てるポイントを知れた本はこちら。

【12月30日WordPressブログ スタートアップ講座】

↓詳細・お申し込みは画像をクリック

【YouTube発信講座 開講】

↓詳細・お申し込みは画像をクリック

※いずれも19:00~21:00 ※当日都合が合わず場合は「動画で受講」ができます。1月12日(水)・2月9日(水)・3月9日(水)・4月13日(水)・5月11日(水)・6月8日(水)  合計6回の連続講座です。

無料メルマガ発行中

メルマガも2021年は頑張って書いています。ぜひ登録して読んでくださいね。(無料です)

メールマガジン
無料で購読
メールアドレス *
* 必須項目

【案内板】

このブログをはじめて読んだあなたへ
ぜひ読んでもらいたい記事を用意しました。

オンラインショップあります

↓ 下のバーナーをクリックすると移動します。


Youtube

  • ブックマーク

この記事を書いた人

情報発信ナビゲーター 大東 信仁

情報発信ナビゲーター / 博士課程中退 / ニックネーム : ものくろ / ブロガー / WordPressが得意 / orz レイアウト開発者 / 株式会社 あみだす 代表取締役