トップページに記事タイトルのリストだけ表示させる場合。
任意の場所に以下を記述。
かなり乱暴な記述のため、後日改善する予定。
<?php //ここからRSS取得 include_once(ABSPATH . WPINC . '/rss.php');//WP固有 //RSSのキャッシュ設定 define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');//出力エンコード define('MAGPIE_CACHE_DIR', './cache');//キャッシュディレクトリ define('MAGPIE_FETCH_TIME_OUT', 30); //タイムアウトまでの時間 define('MAGPIE_CACHE_AGE', 60*60); // キャッシュ更新の時間(秒)。この場合1時間 // ブログRSSのURL 複数ok $blog_rss_arr = array( 'AブログRSSのURL', 'BブログRSSのURL', 'CブログRSSのURL' ); $num = 4;// 表示件数 //日本語曜日配列 $weekday[date('w' , $blog_date)]の形で利用 $weekday = array( '日', '月', '火', '水', '木', '金', '土' ); $blog_html = ''; $count = 0; foreach($blog_rss_arr as $url) { $rss = fetch_rss($url); if(!$rss) {//RSS取得に失敗 echo "記事が取得できませんでした。"; break; } /*$rss->channelに含まれる情報一覧["title"] $rss->channel["title"]→ブログのタイトル $rss->channel["link"]→ブログURL $rss->channel["description"]→ブログの要約 $rss->channel["language"]→言語("ja" ) $rss->channel["tagline"]→スローガンなど */ ?> <p><a href="<?php echo $rss->channel["link"];?>" title="<?php echo $rss->channel["description"];?>" target="_blank"> »<?php echo $rss->channel["title"];?> </a></p> <ul> <?php foreach($rss->items as $blog) { /*$rss->itemsに含まれる情報一覧 $blog['title']→記事タイトル $blog['description']→要約(要エスケープ) $blog['link']→URL $blog['pubdate']→日付(Tue, 01 Mar 2011 09:23:51 +0900) $blog['summary']→要約と通常同じ(要エスケープ) */ // PR記事を除外 if(!preg_match("/^PR:/",$blog['title'])) { $blog_date = strtotime($blog['pubdate']); $out_item_date = date('Y.n.j' , $blog_date).'('.$weekday[date('w' , $blog_date)].')'; //ここで出力用に整形 //strip_tags($blog['description'])→タグを除去した要約 $blog_html .= '<li><dl><dt class="day">'.$out_item_date.'</dt> <dd class="sentence"> <a href="'.$blog['link'].'" title="'.strip_tags($blog['description']).'" target="_blank">'.$blog['title'].'</a> </dd></dl></li> '; $count ++; if($count === $num) { break;}//指定の数だけ取得してbreak } } echo $blog_html;//整形済みのブログ記事タイトルのリストを出力?> </ul><?php }?>
出力は以下。
<p><a href="ブログAのURL" title="ブログAの要約" target="_blank">»ブログAのタイトル</a></p> <ul> <li><dl><dt class="day">2011.3.2(水曜日)</dt> <dd class="sentence"> <a href="ブログ記事のURL" title="ブログ記事の要約" target="_blank">ブログ記事のタイトル</a> </dd></dl></li> <p><a href="ブログBのURL" title="ブログBの要約" target="_blank">»ブログBのタイトル</a></p> <ul> <li><dl><dt class="day">2011.3.2(水曜日)</dt> <dd class="sentence"> <a href="ブログ記事のURL" title="ブログ記事の要約" target="_blank">ブログ記事のタイトル</a> </dd></dl></li> <p><a href="ブログCのURL" title="ブログCの要約" target="_blank">»ブログCのタイトル</a></p> <ul> <li><dl><dt class="day">2011.3.2(水曜日)</dt> <dd class="sentence"> <a href="ブログ記事のURL" title="ブログ記事の要約" target="_blank">ブログ記事のタイトル</a> </dd></dl></li> </ul>
サンプルコードは配列の形で取得するケースが多いが、いきなり出力用のフォーマットへ。
これでもコメントを除けばかなり短め。