RSS を利用して We heart it! の画像を表示させる
先日、WordPressプラグインを使ってTumblrの画像を取得してサイドバーに表示させるようにしましたが、それに加えてWe heart it!で取得した画像も表示できないかといろいろと調べて、RSSを取得してそれを吐き出してやれば可能ということで実行してみました。
We heart it! というのは、画像のみの共有サイトで、よそのサイトやflickrで見つけたお気に入りの画像をボタン一つで共有することができます。私の場合、Tumblr ではグラフィカルなものとか、スタイリッシュなものを集めて、We heart it! のほうでは可愛いもの、いわゆるYumyumなものばかりを集めるようにしています。
例によってプラグイン関連を探してみたのですが見つからず、、、で、RSSを吐き出しているものであれば、そのRSSを取得して表示させることができるのでは?と『wordpressでRSSを取得して表示』と『外部RSSを取得して表示する方法』を参考にしながらPHPコードを書いてみました。
<?php // Get RSS Feed(s)
include_once(ABSPATH . WPINC . '/rss.php');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
define('MAGPIE_CACHE_DIR', './cache');
define('MAGPIE_FETCH_TIME_OUT', 30);
define('MAGPIE_CACHE_AGE', 60*60);
?>
<?php
$rss = fetch_rss('http://weheartit.com/osaru.rss');
$maxitems = 1;
$items = array_slice($rss->items, 0, $maxitems);
?>
<ul class="rss_img">
<?php if (empty($items)) echo 'No items';
else
foreach ( $items as $item ) : ?>
<li><a href='<?php echo $item['link']; ?>'
title='<?php echo $item['description']; ?>'>
<?php echo $item['description']; ?></a></li>
<?php endforeach; ?>
</ul>
$rss に取得したいRSSのアドレスを記述
$maxitems 表示件数を記述
$item['link'] リンクアドレス
$item['title'] タイトル(キャプション等)
$item['description'] 全てを取得(画像を取得したい場合はこれを記述)
あとは表示させたい場所に上記のコードを挿入すれば完了です。問題なく表示できるようになりました。ただ、RSS更新のタイミングが少しずれるようで Tumblr のプラグインほどすぐには反映されないです。このRSS取得の方法だと、Tumblr はもちろん、Twitter や他のサイトの最新エントリー、Youtubeなどの動画なんてのも取得できます。
直接テンプレートに記述するとメンテが面倒だということで、『PHP Code Widget』というプラグインを使ってWidget化してサイドバーに表示させるようにしています。Widget化しておくと、表示位置を変えたりするのが楽チンなのでお勧めです。







遥花 Says:
March 9th, 2010 at 11:39 am
はじめまして~♪こちらのblog、ステキで見てたりします
「we heart it」とてもかわいいので私も気に入って取り入れてみました
osaru Says:
March 9th, 2010 at 1:24 pm
遥花さん
こんにちわ!
We heart it!で可愛い画像、いっぱい集めましょうね!!
upomo! - [WP]外部RSS画像を呼び込む Says:
August 11th, 2010 at 12:41 am
[...] RSS を利用して We heart it! の画像を表示させる:Nutspress [...]