wordpressのfetchfeedで外部RSSのサムネイルのURLを取得する方法(RSSの加工無しで)

fetch feedは本当に便利

WordPressで外部のWordPressのRSSを取得してページ上に表示する方法として「Fetch_feed」があります。

詳細は公式リファレンスをどうぞ

関数リファレンス/fetch feed

これを使うと何が良いかというと、外部のRSS取得ツールなどを使うことなく、かなり簡単にRSSを取得・出力することができます。
(Google Feed apiの廃止でRSSで取得してた箇所が非表示になった時は大変でした。。。)

しかし、このfetch feedで必ず皆つまづく部分があります。それは…

サムネイル(アイキャッチ)が取得できない(正確には取得しづらい)

そうなんです。RSS上で出力されているサムネイル画像のURLが取得しづらいんです。
タイトルやリンクURLはすんなり取れるんですが、<media:thumbnails url>が皆さん取得できず、仕方なく記事中の1枚目の画像を取得したり、function.phpを加工してRSSの<description>などにアイキャッチのURLを埋め込んだりなどして対応しているようです。

もちろん自分が管理しているサイトやしっかり対応してくれる管理者がいるサイトにそういった加工をしてもらえれば良いのですが、そうじゃないサイトも世の中には沢山あります。

今回ご依頼いただいたのも、「提携したサイトの新着3件を自サイトに表示して欲しい。しかし先方のWordPressアカウントは共有いただけないのでRSSからデータ取得して欲しい」というものでした。

もちろんタイトルやリンクだけではなく、アイキャッチの取得も要望に入っていたし、RSSを見たら画像URLも出力されていたので軽い気持ちで「全然できますよ」と答えたものの、実際に着手してみたらアイキャッチのURLが取れなくて大苦戦。

正直なところ、国内の記事では皆「アイキャッチURLを記事本文や抜粋に埋め込んで取得しましょう!」という方法ばかり。

途方に暮れていたときにたまたま見た海外のフォーラムで「enclosureから取れば良いんじゃない?」という回答が。

答え:get_enclosureからアイキャッチURLは取れる

「enclosure」とはなんぞや?というところからfetch_feedで取得した内容をprint_rで表示して見たところ、[enclosure]のなかに[thumbnails]という項目を発見!

foreachで回してる中に以下を記述して見たところ、見事にアイキャッチのURLが取れました!

<?php foreach ( $rss_items as $item ) : 
$item_image = $item-&gt;get_enclosure();//アイキャッチURL
$image = $item_image-&gt;thumbnails[0];//アイキャッチURL
$item_date = $item-&gt;get_date();//日時
$date = date('Y.m.d',strtotime( $item_date ));//日時
$title = $item-&gt;get_title();//記事タイトル?> 

※日時やタイトル部分は気にしないでください。使ったコードそのまま貼ってます。

取得したアイキャッチURLの出力は

<img src="<?php echo $image; ?>" />

で出力できます。

ぜひ使ってみてくださいね!

集客に困らない仕組みを作りたい人は、他にいませんか?

自社のサービス、商品だからこそ気づかない「本当の魅力」を引き出し「お客に届くメッセージ」を作ります。
今まで幾度となく集客に成功し、売上アップの実績を上げているノウハウを基にしていますので貴社でも十分効果を発揮します。
ステップメールやメルマガ、チラシ・DMなどなど、お客様へのアプローチを無駄にせずしっかり利益の残る仕組みにしませんか?
「うちは特殊な業界だから...」と諦める必要はありません。

カサネルが行っているのはどんな業種、業態、客層でも十分通用する「普遍」の集客プラン。
貴社でもできるアドバイスがたくさんあります。

もし、あなたが毎日「売上を上げるには...」と悩んでいるのなら、今すぐお問い合わせください。

お問い合わせはこちら

関連記事一覧

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


PAGE TOP