RSSにアイキャッチ画像を追加する方法

[WordPress] RSSにアイキャッチ画像を追加する方法

※ 当サイトは広告を含みます。

WordPressのRSSフィードにアイキャッチ画像を追加する方法です。

RSSにアイキャッチ画像のパスを含めておくと、外部サイトを経由した場合でも画像を表示できます。
このサイトも本家からサブドメインのRSSを参照し、そこからアイキャッチ画像のパスを入手してます。
主にニュースサイトとかで利用される手法で、文字だけリンクよりも見た目が良い感じになります。

◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。

コードを追加する

functions.phpとかに以下のコードを追加します。


// RSSの出力をカスタマイズ
add_action('rss2_ns', function () {
  echo 'xmlns:media="http://search.yahoo.com/mrss/"';
});

add_action('rss2_item', function () {
  global $post;

  if (has_post_thumbnail($post->ID)) {
    $thumbnail = get_the_post_thumbnail_url($post->ID, 'full');
    echo '<media:thumbnail url="' . esc_url($thumbnail) . '" />';
  }
});

仕組み

最初にMedia RSSを出力するためにrss2_nsを使います。
これでRSSの頭の方の名前空間を出力します。

次にrss2_itemでRSSにアイキャッチ画像のパスを追加します。
方法は何でもいいので画像のパスを取得。それを出力すればOK。

media:thumbnailを利用してるのはWordPress標準機能で取得できるから。
実際にアイキャッチ画像のパスを取得する方法はこちら。

Tipsrss2_itemはRSSに項目を追加するactionなので画像以外も追加できます。

あとがき

管理人
管理人

稀にdescriptionにアイキャッチのパスを含める記事がありますが、まず間違いなのでやめましょう。

りさ
りさ

仕組みは正しく使おうね。

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。