Smart News配信用のRSSのサムネイルやロゴの出力方法

公開日:  最終更新日:2015/08/19

仕事でお手伝いをしているサイト様が「スマートニュース」に記事を配信するのでRSSの出力がちゃんと出来ているか見て欲しいとの事でした。

調べ方は
SmartFormat Validator
こちらのサイトで調べる事が出来ます。

結果は”warning”
記事のサムネイル、コピーライト、ロゴ出ていないとなりました。

“invalid”は完全アウト。”warning”はギリギリ。”valid”はOKという事ですが、やっぱりきちっと情報を出力しないといやなので試行錯誤で出来ましたので備忘録に書いときます。

【Smart News】wordpressで配信用rss SmartFormatの出力

まず配信形式はRSS2でしました。

channel 出力情報(サイト情報)

◯が付いているのが必須です

SmartFormat

item出力情報(記事情報)

こちらも◯が付いているのが必須です。

item

feed-rss2.phpをカスタマイズ

1.feed-rss2.phpのコピーをテンプレートフォルダの中に作る

wordpressの中のwp-includesフォルダ内に「feed-rss2.php」がありますのでコピーして、使用中のテンプレート内に「feed-rss2.php」をもう一つ作ります。(今回は親テーマにいれました。)

2.functions.phpにコピペする

画像出力と元の「feed-rss2.php」をリムーブして新しい「feed-rss2.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 post_thumbnail_in_feeds($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<div>' . get_the_post_thumbnail($post->ID,'medium') . '</div>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'post_thumbnail_in_feeds');
add_filter('the_content_feed', 'post_thumbnail_in_feeds');

3.feed-rss2.phpにサムネイルやロゴの出力を追加

サムネイル、ロゴ画像、コピーライト以外は大体何もしなくてもいけていると思うので省きます。

ロゴ、コピーライトはchannelタグ内に書きます。エラーが出たのでコピーライトは「(C)」にしました。

channelタグの中にコピペ、urlは画像のあるURL
<image>
<url>http://sample/images/icon.png</url>
<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
 <link><?php bloginfo_rss('url') ?></link>
</image>
<copyright>Copyright(C)sample,All Rights Reserved.</copyright>

■ 次は記事のサムネイルの出力です。

「media:thumbnail」でサムネイルのURLを囲まないといけないらしいです。

<?php
$image_id = get_post_thumbnail_id();
$image_url = wp_get_attachment_image_src($image_id, true);
?>
<media:thumbnail><?php echo $image_url[0]; ?></media:thumbnail>

サムネイルのURLを出して、それを”media~”に入れる感じです。
コピペする場所はソースの下の方の”guid isPermaLink~”の下辺りがよいかと思います。
サムネイルの出力には記事ごとにアイキャッチを設定してくださいね。

■ descriptionの記述を変更する

変更前
<?php if (get_option('rss_use_excerpt')) : ?>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
<?php else : ?>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
変更後
<?php if (get_option('rss_use_excerpt')) : ?>
<description><![CDATA[<?php the_content_feed('rss2'); ?>]]></description>
<?php else : ?>
<description><![CDATA[<?php the_content_feed('rss2'); ?>]]></description>

これは実はなんで変更したのかわからないけど、変更しろって言われたので。。。。
でもうまく上手くいったから必要みたいです。。。無責任(ー ー;)

注意)当サイトは全くRSSの最適化はしてないのでテストしないでね。

シェアありがとうございます

  • このエントリーをはてなブックマークに追加
  • Pocket

関連記事-こちらもどうぞ

  • 記事はありませんでした
Comment 1 Comment
  1. […] 参考:Smart News配信用のRSSのサムネイルやロゴの出力方法 | あれもこれものLifelog […]

コメントを投稿

  • 自分の写真
    name
    Aya imai

    三人の子を持つ主婦です。パソコン、編み物など 下手の横好きですが、いろんな事をやりたがります。 どれも大した知識はありませんが、上達を目指しがんばります。

Category

PAGE TOP ↑