PHPを使って外部サイトからRSSを読み込みページに埋め込む

同じドメインでの最新投稿記事を別のページなどに埋め込むのは

WordPressテンプレートタグを呼び出して

ってやり方でできた。

今回はドメインが異なる、違うサイトからRSSを利用して

最新投稿をページなどに読み込んでみる。

使うサイトは

AfroNamiheiの箱(このブログのRSS)の投稿を

@pagesにあるWordPress

AfroNamiHeiの箱 for @pages

で読み込む。

RSS読み込み側の準備

@pagesのブログでページやエントリーでPHPコードを動かすプラグインrunPHPを使います。

no sq – runPHP Plugin for WordPress

runPHP-01runPHPのダウンロード

上記サイトからrunPHPをダウンロードし

/wp-content/pluginsディレクトリにアップロード後、プラグインを有効にする。

WordPress管理画面設定投稿設定

runPHP-02チェックを外す

不正にネスト化した XHTML を自動的に修正する」の

チェックを外した設定にする。

WordPress管理画面設定runPHPが出来ているので

runPHP-03Administrator権限の使用に設定

Administrator|User role」のチェックをつけて保存。

RSSを読み込むPHPスクリプト

PHPでRSSを収得するためのスクリプト、MagpieRSSをダウンロードします。

Magpie RSS – PHP RSS Parser

MagpieRSS-01DOWNLOAD、Magpie 0.6a (alpha)、MagpieRSS 0.52の赤丸3つどれでもOK
ちなみにAfroはalphaバージョンをダウンロード

上記サイトからダウンロード。

拡張子がLinux用の.tar.gzでファイルが落ちてきますが

zip形式で解凍可能です。

解凍後

FTPソフトrootディレクトリ
ファイル

  • rss_cache.inc
  • rss_fetch.inc
  • rss_parse.inc
  • rss_utils.inc

フォルダー

  • extlib

をアップロードし

同じくrootディレクトリcacheディレクトリを作り

cacheディレクトリパーミッション757にします。

@pages側、RSS読み込み側ブログの投稿に最新投稿を埋め込む

ページでも投稿でもやることは同じですが

<?php
error_reporting(E_ERROR);
require_once 'rss_fetch.inc';
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
$url = 'http://www.afrojapan.com/blog/feed';
$rss = fetch_rss($url);
$title = $rss->channel['title'];
echo "<h3>$title</h3>\n";
echo "<dl>\n";
foreach ($rss->items as $item ) {
$title = htmlspecialchars($item['title']);
$description = htmlspecialchars($item['description']);
$url   = htmlspecialchars($item['link']);
echo "<dt><a href=\"$url\">$title</a></dt>\n";
echo "<dd>$description</dd>\n";
}
echo "</dl>\n";
?>

(赤文字のURLは読み込みたいブログのRSS)

と、記事を書いた後

投稿編集画面の下の方にある

runPHP-04PHPコードを使用のチェック

run PHP code?」にチェックを入れて保存、あるいは公開。

引用、参考サイトは以下です

PHPでブログの最新記事をRSSで取得しホームページに貼り付ける。 – けむしろうの部屋別館 – 楽天ブログ(Blog)
外部の RSS を PHP で取得 – lucky bag
WordPressの投稿記事やページ内でPHP構文を使う。(プラグイン:runPHP)::streetcar weblog 第二世紀

「PHPを使って外部サイトからRSSを読み込みページに埋め込む」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です