WordPressのRSSフィードにアイキャッチを追加

WordPress
RSSフィードにimageタグ追加

feed-rss2.phpfunction.phpを編集して、RSSにアイキャッチのURLをタグ追加します。
プラグインを使わない方法を調べました。
以下のサイトを参考にさせていただきました。

というか、基本的にはそのままです。
自分で何をしたのか分からなくなるので、備忘録です。

やることの流れ

以下の流れでいろいろやっていきます。

  1. feed-rss2.php ダウンロード
  2. feed-rss2.php 編集
  3. feed-rss2.php アップロード
  4. functions.php 編集
  5. 確認

WordPressのfeed-rss2.phpを手に入れて、編集後、利用中の子テーマのフォルダーにアップします。

SFTPとかできない環境だったので、以下のプラグインを使いました。
WordPressのファイルをダウンロードしたりアップロードしたりできます。

実際の設定

コンピューター

ワクワクドキドキのファイル編集です。
バックアップはしっかりと。

実際、エラーを出してしまいましたのでw
(解決済みのコードを記録です。)

feed-rss2.php ダウンロード

wp-lncludes直下から、「feed-rss2.php」をダウンロードします。

ダウンロードした場所はお忘れなく。
phpファイルです。アイコンなどは環境によって異なります。

feed-rss2.php 編集

ダウンロードしたファイルをテキストエディターで編集します。
以下のコードを挿入します。

<?php
  if (has_post_thumbnail()) :
  $image_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'large');
  $thumb_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail');
?>
  <image>
    <url><?php echo $image_url[0]; ?></url>
  </image>
  <thumb>
    <url><?php echo $thumb_url[0]; ?></url>
  </thumb>
<?php endif; ?>

挿入位置は、guidのタグとdescriptionのタグの設定部分の間です。
空行や行頭空白は効果的に使いましょう。

挿入位置
挿入位置の例

最終的に、どこに挿入したいか次第ではありますので。
位置はお好みでよいと思います。

feed-rss2.php アップロード

今回は子テーマのフォルダー直下にアップロードしました。
つまり以下です。

/wp-content/themes/cocoon-child-master

テーマは「Cocoon」を使っていますので。

環境に合わせて読み替えてください。
親テーマ直下に置くか、子テーマ直下に置くかは、好みではあるのですが。
次の設定に関係してきます。

functions.php 編集

子テーマのfunctions.phpに以下を追加しました。

remove_filter('do_feed_rss2', 'do_feed_rss2', 10);
function my_feed_rss2() {
  load_template(get_stylesheet_directory() . '/feed-rss2.php');
}
add_action('do_feed_rss2', 'my_feed_rss2', 10);

子テーマのフォルダー直下を見るように書いてあります。
get_stylesheet_directory」のところです。(参考
もしフォルダー名やファイル名を調整している場合には、よきに計らってください。

親テーマのフォルダー指定は「get_template_directory」です。(参考
冒頭の参考サイトではこちらを採用されています。そのままコピペしてしまったため、ここが原因でRSSが作られないエラーになりましたw

最終確認

サイトのRSSにアクセスし、ソースを表示させます。
今回の場合は、guidタグとdescriptionタグの間にimagethumbのタグが挿入されています。

ウェブ

XMLはタグ名など、自身で調整できますので。
必要なものを設定しましょう。

タイトルとURLをコピーしました