IFTTTのEntryImageUrlをWordPressのRSSから読み込んでもらう

Blog Admin
Blog Admin

IFTTTを使っています。
WordPressのRSSからアイキャッチ画像のURLを取得して、Tumblrに画像形式で投稿したいのです。

WordPress

IFTTTのEntryImageUrlは
どこから取得されるのか

IFTTTの仕様など分かりません。
ドキュメントも見つかりません。
何か書いておいていただきたい。。

とにかく実験してみるしかないわけです。

Pinterest対応でmedia:contentに

もともと、Pinterest側からこちらを見てもらったときにエラーが出ていることをきっかけに、画像タグの設定方法を切り替えておりました。
この状態で1年以上運用しておりました。

もちろんTumblrに対応したかったわけですが、手が回っていなかっただけです。

Pinterest側も気にしておきましょう。
深夜の接続です。Pinterestから引いてくれる仕組みです。
エラーになると、たしかメールが届いたと思います。

descriptionにimgを入れる

先の取り組みが失敗に終わったので。。
いろいろとうまくいったら、経緯と完成形を整理します。 → 整理しました

インターネットの世界だけですが、いろいろと調査したところ、以下の結論に達しました。

IFTTTのEntryImageUrlは、description内に最初に登場するimgタグた取得される。

本当かどうかは分からないです。 → 本当のようです。
IFTTTがどういう仕様になっているのかがさっぱりなので。。

できることなら、きれいにXMLでタグ指定したいものではあります。
W3Cの仕様とは異なるようなので。。 → そうでもないようです。

プログラミング

とはいえ、この方針は、もともとPhoto Postを送っていたときに採用していた手段のようにも思えてきました。
当ブログでは、まずやってみようということですので、やります。
この投稿がどのように扱われるか、お楽しみということで。。

RSSの記述違反とかいった指摘がGoogleさまあたりから飛んでくるようなら、もはや諦めるしかないわけですが。
まずは、やってみましょう。 → 問題ありません。

functions.phpへの追加コード

追加部分です。画像関連の全体像です。

// RSSに画像要素を追加(for IFTTT - Tumblr)
function rss_post_thumbnail($content) {
  global $post;
  if(has_post_thumbnail($post->ID)) {
    $content = '<div>' . get_the_post_thumbnail($post->ID) . '</div>' . $content;
  }
  return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

// RSSに画像要素を追加(for Pinterest)
function insert_thumbnail_element_to_feed(){
  global $post;
  if ( !has_post_thumbnail( $post->ID ) ) return;
  $thumbnail_ID = get_post_thumbnail_id( $post->ID );
  $thumbnail = wp_get_attachment_image_src( $thumbnail_ID, 'full' );  
  $output = '<media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" type="image/jpeg"';
  $output .= ' url="'. $thumbnail[0] .'"';
  $output .= ' width="'. $thumbnail[1] .'"';
  $output .= ' height="'. $thumbnail[2] .'"';
  $output .= ' />';
  echo $output;
}
add_action('rss2_item', 'insert_thumbnail_element_to_feed');

1行目からの部分が、今回の追加分です。
IFTTTにEntryImageUrlを認識してもらえるよう、組み込んでおります。

12行目からの部分は、もともと設定していたmedia:contest部分です。
以前は画像サイズをmediumにしていましたが、このほどfullに変更しております。これが悪さするかも気にしなくては。。

Pinterest

かつての状態との共存です。

RSSの状態

あまりよくないと思うのですが。。

<item>
    <title>RSSにimageタグを入れたい(Tumblr対応)</title>
    <link>https://wnkhs.net/2022/10/rss-image-31071/</link>
    <comments>https://wnkhs.net/2022/10/rss-image-31071/#respond</comments>
    <dc:creator><![CDATA[Blog Master]]></dc:creator>
    <pubDate>Tue, 04 Oct 2022 10:00:00 +0000</pubDate>
    <category><![CDATA[ブログ関連]]></category>
    <category><![CDATA[PHP]]></category>
    <category><![CDATA[RSS]]></category>
    <category><![CDATA[tumblr]]></category>
    <category><![CDATA[WordPress]]></category>
    <category><![CDATA[XML]]></category>
    <category><![CDATA[ブログ]]></category>
    <category><![CDATA[備忘録]]></category>
    <guid isPermaLink="false">https://wnkhs.net/?p=31071</guid>
    <description><![CDATA[<div><img width="1280" height="720" src="https://wnkhs.net/wp-content/uploads/2019/01/wordpress-001.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="WordPress" srcset="https://wnkhs.net/wp-content/uploads/2019/01/wordpress-001.jpg 1280w, https://wnkhs.net/wp-content/uploads/2019/01/wordpress-001-300x169.jpg 300w, https://wnkhs.net/wp-content/uploads/2019/01/wordpress-001-768x432.jpg 768w, https://wnkhs.net/wp-content/uploads/2019/01/wordpress-001-1024x576.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /></div>WordPressが出力してくれているRSSに、画像の情報を載せたいという件です。まずは実験です。]]></description>
    <wfw:commentRss>https://wnkhs.net/2022/10/rss-image-31071/feed/</wfw:commentRss>
    <slash:comments>0</slash:comments>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" type="image/jpeg" url="https://wnkhs.net/wp-content/uploads/2019/01/wordpress-001.jpg" width="1280" height="720" />
</item>

imgタグの内容が長いですが。。
致し方ないです。

この投稿を書いたのは・・・
Blog Admin

ガジェットが大好きで、ほぼ毎月何かしら調達しております。
無駄遣い扱いされたくないのと、何かの役に立つかと思い、記録を書くことにしたのでした。

お出かけのときには、スマホを複数台とタブレットとパソコンを持ち歩きます。
両手首にはスマートウォッチです。
こんなスタイルで生活している中での備忘録を書いています。

「Blog Admin」をフォローしてみる
ブログ関連
「Blog Admin」をフォローしてみる

ご意見やご感想などお聞かせください! コメント機能です。

タイトルとURLをコピーしました