WEBOPIXEL

記事情報をXMLで出力してWordPressの入ってないサイトに表示する方法

Posted: 2011.12.07 / Category: WordPress 

以前「WordPressの入っていないサイトにRSSを取得してブログの情報を載せる」という記事を書きました。これは基本的なデータだったら問題ないのですが、アイキャッチだったり、カスタムフィールドを取得して表示させたい場合はできません。
Feed情報をカスタマイズする手もあるのですが、ここではオリジナルのXMLファイルを作成して表示する方法をご紹介します。

Sponsored Link

xmlの出力用のテンプレートファイル

Wordpressのページ機能を使用してXMLを出力します。
下記コードを使用しているテンプレートフォルダに配置します。

outxml.php

	<?php /* Template Name: OUT XML */ ?>
	<?php echo "<?xml version='1.0' encoding='UTF-8' ?>"; ?>
	<posts> 
	<?php query_posts("posts_per_page=10"); ?>
	<?php while (have_posts()) : the_post(); ?>
	<post>
	<title><?php the_title(); ?></title>
	<date><?php the_time('Y年m月d日'); ?></date>
	<content><![CDATA[<?php the_content(); ?>]]></content>
	<url><?php the_permalink(); ?></url>
	</post>
	<?php endwhile; ?>
	</posts>
	

タグがはいるとろこは「CDATA」で囲んでおきます。

WordPressページ作成

ファイルを作成したらWordpressの管理画面でページの作成をします。
「ページ属性」で今作成したテンプレートファイルを選択「パーマリンク」はXMLを読み込むときに使いますのでコピーしておきましょう。

ページ作成画面

Simple XMLで出力したXMLを取得する。

あとは表示させたいphpファイルに「simplexml_load_file」で設定したパーマリンクを指定すればいけると思います。

php

	$feed = simplexml_load_file('http://www.example.com/xml','SimpleXMLElement',LIBXML_NOCDATA);
	print_r($feed);