Tweet this

RSS を利用して We heart it! の画像を表示させる

先日、WordPressプラグインを使ってTumblrの画像を取得してサイドバーに表示させるようにしましたが、それに加えてWe heart it!で取得した画像も表示できないかといろいろと調べて、RSSを取得してそれを吐き出してやれば可能ということで実行してみました。

We heart it! というのは、画像のみの共有サイトで、よそのサイトやflickrで見つけたお気に入りの画像をボタン一つで共有することができます。私の場合、Tumblr ではグラフィカルなものとか、スタイリッシュなものを集めて、We heart it! のほうでは可愛いもの、いわゆるYumyumなものばかりを集めるようにしています。

We heart it!

We heart it!

例によってプラグイン関連を探してみたのですが見つからず、、、で、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化しておくと、表示位置を変えたりするのが楽チンなのでお勧めです。

Related Posts

Tags: , , , ,

3 Responses to “RSS を利用して We heart it! の画像を表示させる”

Leave a Reply