目次に行く・戻る
メルカリ招待コード: 招待コードをコピー
この度は、度重なるRSSフィードにアイキャッチ画像を出力表示させる方法を連続して検証も兼ねて投稿してしまい申し訳ありませんでした。
何度か実際に実施してみてプラグインを使わないでRSSフィードにアイキャッチ画像を出力表示させることが出来ました。
以前の記事でも、
問題なく通常のFeedlyなどのRSSフィードにおいてはアイキャッチ画像は表示されていました。 ですが、BloggerのRSSフィードにはアイキャッチ画像が「image」という表示になってしまっていました。
アドセンス336pxPC閲覧記事下表示1つ目コード
+これまでによく読まれている記事一覧クリックでOPEN+
150,536件の PV
106,579件の PV
75,739件の PV
67,237件の PV
44,118件の PV
40,649件の PV
38,216件の PV
37,258件の PV
36,589件の PV
33,270件の PV
プラグインを使わずに全てのRSSフィードにアイキャッチ画像を表示させる方法まとめです。 1つ目の方法です。 以前と同じfunction.php内に以下のコードを追記するだけでBloggerのRSSフィード以外にはしっかりとアイキャッチ画像は出力表示されていました。
// RSSにアイキャッチを出力
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
上記の4行目の($post-ID) .のpost-IDの後に、
,'thumbnail'を記述するだけで、 BloggerのRSSフィードにもアイキャッチ画像を無事出力表示されるようになりました。
画像サイズの指定をしてやることで、しっかりと出力表示させることがより確実にできます。
2つ目の方法です。 同じくプラグインは使用しないでというのが大前提条件な訳ですが、
以下のコードをfunction.php内に追記することでFeedly以外などのRSSフィードにもアイキャッチ画像を出力表示することが出来ます。
/**
* RSS Feeds へアイキャッチ画像を出力する
* 画像サイズは thumbnail とする(すべてのRSSフィードにて表示させるには thumbnail サイズの為)
*/
function rss_post_thumbnail($content) {
global $post;
$img = get_the_post_thumbnail($post->ID,'thumbnail');
if(!empty($img)){
$content = "<p>$img</p>" . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
上記のコードの場合には、$post->IDの後に画像サイズを指定してやらないとエラーになってしまいす。
画像サイズの指定方法は以下になりますが、 Stinger6、Stinger7やStingerPLUS+(affinger4でも同様かもしれませんが、)Stinger6とStinger7とStingerPLUS+以外は未検証になります。
※各テーマに合わせて指定サイズを変えてみてください。
画像サイズの指定方法のコード
get_the_post_thumbnail($post->ID,'thumbnail') //サムネイルのサイズ
get_the_post_thumbnail($post->ID,'medium') //中サイズ
get_the_post_thumbnail($post->ID,'large') //大サイズ
get_the_post_thumbnail($post->ID,'full') //フルサイズ
get_the_post_thumbnail($post->ID,array(250,100)) //指定サイズ
コメントアウトにて意味を書いてありますがそれぞれの説明としては、
thumbnail→そのままサムネイル画像のサイズ。 midium→中くらいのサイズ。 large→大きいサイズ。 full→フルサイズ。 250,100→任意の指定サイズ。 となります。
これまで、「image」となってしまうRSSフィードでの内容の原因は、 function.php内に記載されている以下にあると思われます。
// アイキャッチサムネイル
add_theme_support( 'post-thumbnails' );
add_image_size( 'st_thumb100', 100, 100, true );
add_image_size( 'st_thumb150', 150, 150, true );
上記コードのスクリーンショット画像
この2つ目のプラグインを使用しないでRSSフィードにアイキャッチ画像を表示させる方法において、
RSSフィードの情報を確認してみると、しっかり description にイメージ画像が設定されています。
RSSフィードの情報スクリーンショット画像
なので、 1つ目の方法よりこちらの2つ目のfunctionコードでの実装の方が良いと思われます。
簡単なコードの説明としては、
処理としてはフィード情報の作成時にフィルターフックしてコンテンツの前に画像の img タグを挿入しているだけなので、画像用の特別な要素があるわけではなく、description として抜粋の前に画像が追加されます RSSフィードにアイキャッチ画像を追加して Feedly で確認してみる – セルティスラボ
以上、 RSSフィードにアイキャッチ画像を表示させる方法でした。
最後に参考サイトは以下になります。
ありがとうございます。
今回は、 なぜなのかを検証するのにローカルにてではなく実際に確認検証してみてしまったので、無駄な?記事もあります。
検証確認する際には・・・・・・。 まずは、ローカル環境にて行ってみるのをオススメします。
(でも、RSSフィードだから実際に記事を書いてみて投稿公開してみないと無理だよなぁ(・・*)。。oO(想像中))
より良い方法を追記)
Opt-out complete; your visits to this website will not be recorded by the Web Analytics tool. Note that if you clear your cookies, delete the opt-out cookie, or if you change computers or Web browsers, you will need to perform the opt-out procedure again.
You may choose to prevent this website from aggregating and analyzing the actions you take here. Doing so will protect your privacy, but will also prevent the owner from learning from your actions and creating a better experience for you and other users.
comment