WordPress
RSSフィードにimageタグ追加
feed-rss2.php
とfunction.php
を編集して、RSSにアイキャッチのURLをタグ追加します。
プラグインを使わない方法を調べました。
以下のサイトを参考にさせていただきました。
というか、基本的にはそのままです。
自分で何をしたのか分からなくなるので、備忘録です。
やることの流れ
以下の流れでいろいろやっていきます。
- feed-rss2.php ダウンロード
- feed-rss2.php 編集
- feed-rss2.php アップロード
- functions.php 編集
- 確認
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
タグの間にimage
とthumb
のタグが挿入されています。
XMLはタグ名など、自身で調整できますので。
必要なものを設定しましょう。