何度も何度も申し訳ありません。どうしてもRSSフィードにアイキャッチ画像を表示させたくて邁進している所存でございます。。。。先日にも再度検証してコードを修正したりいくつかの方法を記載いたしました。その他の方法も発見しましたので備忘録としての記載をしておこうかと思います。今回は2種類を考えてみました。どちらもディレクトリ内の/wp-includes/feed-rss2.phpを利用して編集する内容になります。
php WordPress カスタマイズ カスタマイズ テーマ 伝えたいこと 備忘録
rss2.php編集版RSSフィードにアイキャッチ画像を表示する方法
所要時間目安: 約 5 分
この記事は2021年9月26日のものです。現在は状況が異なる可能性がありますのでご注意ください。
php WordPress カスタマイズ カスタマイズ テーマ 伝えたいこと 備忘録
再度RSSフィードにアイキャッチ画像をfeed-rss2.phpを利用し編集して表示する方法です。
上記のfeed-rss2.phpのテンプレートファイルはWordPressがインストールされているディレクトリの/wp-includes/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)
上記のコードを以下の画像のように追記します。
具体的には以下のコード内容になります。
<?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です。
以下画像のように追記する場所にコードを追加します。
具体的には以下になります。
<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の下にアイキャッチ画像を插入する場所は以下になります。
具体的には以下になります。
<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の下に追記されているのか
それぞれお分かりになりると思います。
参考サイト)
一番のおすすめな方法はdescription内に追記する方法がコード的には一番良いのではないかと思われます。
先述の通りさまざまな方法がありますが今回の方法1を現在活用しています。
これまでのRSSフィードにアイキャッチ画像を表示する方法まとめ
「php, WordPress, カスタマイズ, カスタマイズ, テーマ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧
あなたにおすすめ
PC カスタマイズ カスタマイズ 伝えたいこと 備忘録 設定
MicrosoftIMEショートカットキー一覧Google日本語入力も同じ
これまで、日本語入力にソフトには元祖のジャストシステムさんのATOKや、WindowsOSの標準装備されたIME、もしくは、Google日本語入力などがメインではないでしょうか?その日本語入力(IME…
インフィード広告アドセンス
今、一番人気のあるiPhoneアプリとAndroidアプリ
今では当たり前になってきている?スマホです。大きく分けるとすると、 iPhoneとAndroid系のスマホに2種類に分けられます。そんな中でも、 使用する人によってインストールされるアプリ…
インフィード広告アドセンス
STINGER PLUS+ Stinger6 Stinger7 WordPress カスタマイズ テーマ 備忘録
WordPress自分のショートコード備忘録
現在の自分が使用しているテーマでの、 ショートコードを用いてテンプレートからショートコードを用いて任意のコードを表示させる方法の備忘録です。
インフィード広告アドセンス
メディファーマが治験123件で違反行為…血圧数値改ざんなど、創業以来の組織ぐるみか
こういった製薬関連のデータ改ざんや製造工程の品質管理など人の体に入れる薬なのですから、しっかりしてほしいです。 健康被害が今現在ないとか言っていても、その後はわからないですしご本人が気づいていない体調…
インフィード広告アドセンス
AFFINGER4Pro SNS STINGER PLUS+ Stinger6 Stinger7 WordPress インターネット カスタマイズ 伝えたいこと 備忘録
SNSボタンCSSカスタマイズでクリック率上げて拡散してもらう方法
今はインターネットにおいて欠かすことの出来ないツールとなっているSNSがあります。 そして、 そのSNSには拡散してもらう為のボタンがあります。 多くのブログやホームページなどのサイトでよく目にかけま…
インフィード広告アドセンス
おすすめの記事一部広告
- エクストレイルリアワイパー交換方法と純正部品番号9
- カーメイトのエンジンスターターでエラー15表示と対処方法6
- シガーライターがない車にシガーライターソケットの付け方と増設方法4
- エクストレイルT32運転席側バイザーメッキモール剥がれ修復方法とオススメ両面テープ3
- ハンドルのセンターがズレている時の直し方タイロッドエンド調整による方法2
- アイドリングストップシステム異常警告灯表示対処方法2
- ECUをリセットする方法。アイドリング不安定だったのでしょうがなく2
- MG3530が壊れたのでMG3630と比較した評価レ PV2
- エクストレイルT32おすすめエアコンフィルター交換方法2
- セレナとエクストレイルのエコモーター(オルタネーター)のリコールと車検2
Multiplex 広告
おすすめ!!
世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!
Googleニュース
2024-04-27
... 見逃せない! ホイールのブレーキ ... 独立後はカーオーディオ、クルマ、腕時計、モノ系 ... カーメーカー「旧車」関連プロジェクトの全貌 ...
2024-04-27
近所の便利屋、修理屋、目指して頑張ってます!どんな些細な事でもご相談してください! お問い合わせはトータルリペア ヨッシー 吉川 智幸長野県長野市風間386 ...
2024-04-27
国土交通省の「事業用軽自動車の共同使用」(※2)についての通達を受け、この度新サービスをリリース。2023年3月にスタートした軽貨物メンテナンスパックサービス ...
2024-04-27
CBcloudは、自社が保有する車両を代車として配送パートナーに一時的に提供することで、車検や修理時にも業務を継続できるよう支援する。 国交省は3月に、「貨物 ...
2024-04-26
趣味、車修理・自動車整備については高橋巨樹におまかせ! 車修理・自動車整備に関するご相談や困りごとなどを解決する高橋巨樹プロのコラムは必見。 今回の ...
アドセンス336pxPC閲覧記事下表示1つ目コード
よろしかったらシェアよろしくお願いします。
- X
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2924
Twitter - Share
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2921
Share - Pocket
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2921
Pocket - Hatena
Deprecated: Automatic conversion of false to array is deprecated in /home/variouspress/infovarious.com/public_html/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2921
Hatena
-php, WordPress, カスタマイズ, カスタマイズ, テーマ, 伝えたいこと, 備忘録
このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。
This site is protected by reCAPTCHA and the Google Privacy Policyand Terms of Serviceapply.
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。
comment