複数のWordPressが動いているサイトで、別のWordPressの内容取得したい時ってどうするのが正解だろう。
例えば、ニュースだけ独立したWPで動いていて、それとは別に全体をWPで管理している。
で、全体管理下のホームにはニュースの最新N件を表示したい時など。
RSSで書きだして取得したりいろいろ方法あるみたいだが、
自分の場合は、以下のようにしてみた。
– データを書き出したいWP上で保存時に、投稿データを取得してファイルに書き出す
– 利用するWP側で書き出されたファイルを読み込んで表示
#### functions.php
function saveAction() {
//投稿取得、最新5件、公開されているもの
$posts = new WP_Query( array( ‘showposts’ => 5, ‘post_type’ => ‘post’, ‘post_status’ => ‘publish’ ) );
// serializeしてファイルに書き出し
file_put_contents(‘latest-posts.inc’, serialize($posts));
}
// 記事保存時に上記のsaveActionを実行
add_action(‘save_post’, ‘saveAction’);
#### 利用テンプレート
// ファイル読み込んでunserialize
$posts = unserialize(file_get_contents(‘latest-posts.inc’));