RSSリーダーに配信する設定をしているときに、内容がおかしいときがあります。
原因を特定は、記事本体の配信内容とからむ場合もありますが、 この配信内容を見直すのが、エラーチェックの1つの方法です。
RSS配信内容の見直しの仕方と修正をご提示します。
設定の確認方法
RSSで読まれる内容と言うのは、対象のURLに「/feed/」をつけると見ることができます。
例えば、https://www.ak-up.com/free-blog-vs-wordpress/ に対してRSSの内容を確認したければ、
https://www.ak-up.com/free-blog-vs-wordpress/feed/
と入れてみます。
このように内容が確認できます。
以下のコードの内容は読み飛ばしてもいいですが、一応説明をつけておきます。
- <?xml version=”1.0″ encoding=”UTF-8″?>
- XMLの宣言をしています。以下の内容がXML形式で、バージョン1.0を使用していて、文字エンコーディングがUTF-8であることを示しています。
- <rss version=”2.0″ …>
- これはRSSフィードの開始を示します。使用しているRSSのバージョンが2.0です。
- <channel>
- RSSフィードの主要な部分を囲むタグで、フィードの内容が含まれます。
- <title>
- フィードのタイトルです。
- <atom:link … />
- Atomフィードへのリンクです。
- <link>
- フィードに関連するウェブサイトのURLです。
- <description>
- フィードの説明です。
- <lastbuilddate>
- フィードが最後に更新された日時です。
- <sy:updateperiod> と <sy:updatefrequency>
- これらはフィードがどのくらいの頻度で更新されるかを示します。ここでは「hourly」と「1」が設定されており、1時間ごとに更新されることを意味します。
- <generator>
- このフィードを生成したソフトウェアに関する情報です。ここではWordPressのバージョンが示されています。
- </channel> と </rss>
- <channel>タグと<rss>タグの終了を示しています。
Card Viewの追加修正
上記のRSSの内容でRSSの配信はうまくいっているのですが、Card viewが表示されないケースがありました。
修正方法を記録しておきます。
修正方法の例
function.phpに下記のコードを入れます。
my-custom-rss-template.phpを参照してコードを追加してほしいという内容です。
remove_filter('do_feed_rss2', 'do_feed_rss2', 10); add_action('do_feed_rss2', function($for_comments){ $rss_template = get_template_directory() . '/my-custom-rss-template.php'; if( file_exists($rss_template) ) { load_template($rss_template); } else { do_feed_rss2($for_comments); // 既定のテンプレートをフォールバックとして使用 } }, 10, 1);
my-custom-rss-template.phpを作成して、下記を入れ込みます。
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?> <rss version="2.0"> <channel> <title><?php bloginfo_rss('name'); ?> - Feed</title> <link><?php bloginfo_rss('url') ?></link> <description><?php bloginfo_rss('description') ?></description> <lastBuildDate><?php echo get_lastpostmodified('GMT'); ?></lastBuildDate> <language><?php echo get_option('rss_language'); ?></language> <?php while(have_posts()) : the_post(); ?> <item> <title><?php the_title_rss(); ?></title> <link><?php the_permalink_rss(); ?></link> <guid isPermaLink="false"><?php the_guid(); ?></guid> <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> <description><![CDATA[<?php the_excerpt_rss(); ?>]]></description> <?php if ( has_post_thumbnail() ) : ?> <?php $image_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'large'); ?> <enclosure url="<?php echo esc_url($image_url[0]); ?>" type="image/jpeg"/> <?php endif; ?> </item> <?php endwhile; ?> </channel> </rss>
問題を確認して微調整を
画像の修正においてはCard viewが吐き出されるようになりました。
RSSの設定がうまくいっていても、投稿についてくるパラメータに余計に画像が入っていたり、入ってなかったりがあります。
状況を見て微調整をかけていきましょう。
【編集後記】
今期の覇権に入っていませんが、最果てのパラディンの2期もなかなかいいです。
「灯火の港の群像」までは入らないかもしれませんが、楽しみに見ています。
【運動記録】
ストレッチ○
【子育て日記(6歳・2歳)】
クリスマスが近づいているので、候補を選んで少しずつ聞いています。
欲しいもので、もらって喜ぶものを当てられるようにがんばります。