WordPressで他サイトのRSSを取得して表示する方法はプラグインの『FeedList』を使えば簡単に出来ますが、複数設置出来ないのが難点。
以前の詳細記事は以下
【WordPress】Tumblrを表示させる方法
【WordPress】FeedListを複数設置する方法
【WordPress】ニコニコ動画をRSSで表示させる方法
【WordPress】FeedListのバージョンアップ、ちょっと待った!
『feedlist.php』に手を加えればいけない事もないんですが、バージョンアップの度に直さなくてはいけないのは面倒です。
なので、WordPressのテーマ内PHPに直接書く事にしました。
利用させてもらったのは、以下のサイトからです。
[WP]wordpressでRSSを取得して表示
WordPressは管理画面などでRSS取得表示してるので、それを上手くテーマにも利用すれば良いんですね。
まず全てのファイルに適用出来るように、ヘッダーに以下のコードを追加。
header.php
<?php
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);
?>
<!DOCTYPE ~~~
<html ~~~
簡単な下準備が整った所で、表示させたい箇所に以下のコードを追加します。
(tumblrを読み込んだ例)
sidebar.phpなど
<?php
$rss = fetch_rss('http://ほげほげ.tumblr.com/rss');
$maxitems = 1;
$items = array_slice($rss->items, 0, $maxitems);
if (empty($items)) echo 'No items';
else
foreach ( $items as $item ) :
?>
<a href="<?php echo $item['link']; ?>" title="<?php echo $item['title']; ?>" target="_blank"><?php echo $item['description']; ?></a>
<?php endforeach; ?>
基本的に以下の項目だけを編集します。
$rss = 読み込むRSSのアドレス
$maxitems = 読み込む数(上記では最新の1つだけ取得)
『No items』は読み込むデータがない場合に表示されます。
『表示させる記事がありません』とか『何もありまへん』とか日本語でもOK。
『<a>~~~</a>』は実際に表示させたい項目のコードを書きます。
$item['link'] = リンクアドレスが取得されます。
$item['title'] = タイトル(キャプション等)が取得されます。
$item['description'] = 全てが取得されます。(tumblrの場合、画像とキャプション)
上記の取得される項目と表示された時のソースとCSSを上手く使って、好みにデザインします。
私的には画像のアドレスだけ取得したい所なんですが。
これを基本に使えば、ニコニコ動画のマイリストを取得したり(以前の記事)出来ます。
『twitter』は表示されない時が多々あるので、『Twitter Tools』(解説サイト)と言うプラグインを使用しています。
『YouTube』は少々手を加えなきゃいけません。(後日書きます)

裏(?)でTmblrをやっている訳ですが、TUMBLARITYの値が昨日まで500程度だったのに、今日見たら1,227もあってビックリ。

