Loading…

php WordPress カスタマイズ カスタマイズ テーマ 伝えたいこと 備忘録

rss2.php編集版RSSフィードにアイキャッチ画像を表示する方法

本日の人気記事BEST10

所要時間目安:5


php WordPress カスタマイズ カスタマイズ テーマ 伝えたいこと 備忘録

RSSフィードにアイキャッチ画像表示方法feed-rss2.php編集位置

何度も何度も申し訳ありません。どうしてもRSSフィードにアイキャッチ画像を表示させたくて邁進している所存でございます。。。。先日にも再度検証してコードを修正したりいくつかの方法を記載いたしました。その他の方法も発見しましたので備忘録としての記載をしておこうかと思います。今回は2種類を考えてみました。どちらもディレクトリ内の/wp-includes/feed-rss2.phpを利用して編集する内容になります。

スポンサーリンク

アドセンス336pxPC閲覧記事下表示1つ目コード

よく読まれている人気記事一覧

目次に戻る


スポンサーリンク

再度RSSフィードにアイキャッチ画像をfeed-rss2.phpを利用し編集して表示する方法です。

上記のfeed-rss2.phpのテンプレートファイルはWordPressがインストールされているディレクトリの/wp-includes/feed-rss2.phpにあります。

以下画像参照。

RSSフィードにアイキャッチ画像表示方法feed-rss2.php利用編集

 

FTPソフトやそれぞれのサーバでのファイル転送サービスにて該当ディレクトリにアクセスしてfeed-rss2.phpをダウンロードします。

その後、テキストエディタにてファイルを開いて編集します。

3つの方法ごとにコードを追記する場所が異なりますのでそれぞれ画像を掲載いたします。

 

まずは追記するコードは以下になります。

<?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;
/* ここまで追加 */ ?>

上記コードをダウンロードしたfeed-rss2.php内の以下の位置に追記します。

 

item内であればどこでも大丈夫ですがfeed(フィード)内容を確認してみると掲載位置が異なることがわかると思います。

  • (方法1)description内にアイキャッチ画像が入っているのか。
  • (方法2)descriptionの上記の位置にアイキャッチ画像が入っているのか。
  • (方法3)descriptionの後にアイキャッチ画像が入っているのか。

 

(方法1)

上記のコードを以下の画像のように追記します。

RSSフィードにアイキャッチ画像表示方法feed-rss2.php編集位置

 

具体的には以下のコード内容になります。

<?php if ( get_option( 'rss_use_excerpt' ) ) : ?>
<description><![CDATA[<?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;
/* ここまで追加 */ ?><?php the_excerpt_rss(); ?>]]></description>

 

次に、方法2です。

以下画像のように追記する場所にコードを追加します。

 

RSSフィードにアイキャッチ画像表示方法feed-rss2.phpを利用編集

 

具体的には以下になります。

<guid isPermaLink="false"><?php the_guid(); ?></guid>

<?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;
/* ここまで追加 */ ?>

<?php if ( get_option( 'rss_use_excerpt' ) ) : ?>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>

 

次に方法3のdescriptionの下にアイキャッチ画像を插入する場所は以下になります。

 

RSSフィードにアイキャッチ画像表示方法feed-rss2.php編集追加

 

具体的には以下になります。

 

<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
<?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;
/* ここまで追加 */ ?>
<?php else : ?>

 

この3つの方法でRSSフィードにアイキャッチ画像を表示させる下準備ができました。

(まだ下準備ですよ・・・。)

その後にfunction.phpに以下のコードを追加します。

remove_filter('do_feed_rss2', 'do_feed_rss2', 10);
function custom_feed_rss2(){
$template_file = '/feed-rss2.php';
load_template(get_template_directory() . $template_file);
}
add_action('do_feed_rss2', 'custom_feed_rss2', 10);

function.phpを弄るのでいじる前に必ずバックアップをしてからにしてください。

上記コードの好きな3つの方法のコードを追加したfeed-rss2.phpはご自身の使用しているThemeフォルダ内のアップロードします。

子テーマを使用しているのでありましたら、子テーマフォルダ内を推奨します。

また、子テーマの場合には上記のfunction.phpに記述するコードが少し異なります。

一部分なのですが分からなくなってしまうと困るので全部以下に記載します。

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

 

親テーマ内のfunction.phpであれば初めのコードそのままで大丈夫なのですが、子テーマを使用していて子テーマフォルダ内にfeed-rss2.phpをアップロードして子テーマのfunction.phpの場合は4行目のtemplateという1行を編集しなければ読み込まれません。

load_template(get_template_directory() . $template_file);

load_template(get_stylesheet_directory() . $template_file);

 

templateとstylesheetの使い分けが親テーマの場合と子テーマの場合では必要になってきます。

feed-rss2.phpを編集後と親テーマのfunction.php(もしくは子テーマのfunction.php)にコードを追記後はThemeフォルダ内に該当ファイル2つをアップロードしてください。

その後ご自身のfeed(フィードURL)を表示してみると、アイキャッチ画像が

  • descriptionに中に追記されているのか
  • descriptionの上部分に追記されているのか
  • descriptionの下に追記されているのか

それぞれお分かりになりると思います。

参考サイト)

WordPress のサイトから RSS フィードを取得して表示する場合、RSS フィードからデフォルトで取得できる情報は、タイトル、パーマリンク、投稿日、投稿者、概要(本文)くらいで、アイキャッチ画
スポンサーリンク

一番のおすすめな方法はdescription内に追記する方法がコード的には一番良いのではないかと思われます。

先述の通りさまざまな方法がありますが今回の方法1を現在活用しています。

これまでのRSSフィードにアイキャッチ画像を表示する方法まとめ

これまでに何度かThemeによってRSSフィードやFeedlyなどにアイキャッチ画像が表示されないThemeがあります。このアイキャッチ画像を今更ながら再検証してみました。以前にf

php, WordPress, カスタマイズ, カスタマイズ, テーマ, 伝えたいこと, 備忘録」同じカテゴリ人気記事


アドセンス336pxPC閲覧記事下表示1つ目コード

おすすめの記事一部広告

関連記事

小林麻央小林麻耶姉妹

伝えたいこと 備忘録 時事ネタ

小林麻央さん進行性乳がんだった。海老蔵さん懸命看病か…。15時から会見との事。

つい先月の5月19日にお姉さんの小林麻耶さんがフジテレビ系お昼の生放送番組バイキングで、途中退出され…

もっと読む

金スマベッキー復帰出演

伝えたいこと 備忘録 時事ネタ

ベッキー金スマにて復帰出演。見逃した方必見です。

ベッキーがレギュラー(番組)として、初めての番組であるSMAPの中居君の「金スマ」にて昨日(2016…

もっと読む

熱中症応急処置対処方法

伝えたいこと 備忘録 時事ネタ 治療

熱中症の症状と予防方法。そして応急処置および対処方法

さて…。いつの間にか既に7月です。 まだ梅雨のはずなのに、大雨による被害が発生してしまっている地域や…

もっと読む

温泉の入り方

WordPress カスタマイズ カスタマイズ セキュリティ 伝えたいこと 備忘録

head内の出力を綺麗にする方法WordPressにて

WordPressでブログをしていますと、自分が使わないものもheader内に出力されてしまっていま…

もっと読む

よろしかったらシェアよろしくお願いします。

おすすめ!!

世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!

おすすめ2

楽天による季節特集です。それぞれの季節ごとにお得なお買い物商品やお得な旅行商品、その他にもAmazon同様に国内最大の買い物ポータルサイトです。楽天をメインにお買い物されている方はポイントやSPUも貯まりさらにお得に!!楽天カードや宇佐美系列のガソリンスタンドでも楽天ポイントが今では貯まります。それらのポイントを貯めてお得にお買い物や旅行商品その他にもパソコンサプライや車カスタマイズ商品など楽天も充実しています。

-php, WordPress, カスタマイズ, カスタマイズ, テーマ, 伝えたいこと, 備忘録



この記事が良かったら
いいね!お願いします(#^.^#)

WordPressデビュー津々浦々の
最新情報をお届けします

言えないことはTwitterで!!



目次に戻る


コメントを閉じる

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください