WordPressのRSSへのデータ確認とCard Viewの修正

こじま税理士のビジテクブログ | WordPressのRSSへのデータ確認とCard Viewの修正

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/
と入れてみます。

このように内容が確認できます。

こじま税理士のビジテクブログ | WordPressのRSSへのデータ確認とCard Viewの修正

以下のコードの内容は読み飛ばしてもいいですが、一応説明をつけておきます。

  • <?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歳)】
クリスマスが近づいているので、候補を選んで少しずつ聞いています。
欲しいもので、もらって喜ぶものを当てられるようにがんばります。

もくじ