RSSを使ってエントリーをインポート
サーバ移転などをするときにはデータベースをインポートして、各種サーバ情報を設定しなおせばいいのですが、いくつかのWordPressをまとめようとすると、とたんに難しくなります。データベースに直接追加することは可能ですが、データベースの損傷といった危険性も伴います。そこでとりあえずはエントリーだけでも何とかする方法を紹介します。対象はあるWordPressから別のWordPressへエントリーをインポートしたい人向けです。
まずは制限事項から。これから紹介する方法では以下の問題点が存在します。
<!--more-->の設定が無くなります。インポート後に<a id="#more-">となっている部分を書き換える必要があります<!--nextpage-->を使っている場合は、最初の1ページのみインポートされます- 当然ですが画像のインポートは不可能です。ファイルの場所を変更した場合は、該当するエントリーの書き換えが必要です
試した範囲では以上のような問題が発生しました。それを踏まえた上で作業を行ってください。
wp-rss2.phpの編集
エントリーのインポートにはRSS2.0経由で行います。まずはエントリーの全文を出力できるようにwp-rss2.phpを編集します。必ずwp-rss2.phpのコピーを使って作業してください。
50行目と52行目を次のように書き換えます。
<content:encoded><![CDATA[<?php the_content('',0, '') ?>]]></content:encoded>
編集が終わったら、WordPressをインストールしたディレクトリにアップロードします。くれぐれもオリジナルのwp-rss2.phpを置き換えないようにしてください。
WordPressの設定変更
インポート元のWordPressの管理画面»『設定』» 『表示設定』の『RSS/Atomフィード』の設定を変更します。
まず『最新投稿表示数』は大きめの数字にしましょう。月毎やカテゴリー毎の最大エントリー数でもいいかもしれません。次に『各投稿の表示』は『全文を表示する』にします。

エントリーをRSS2.0で出力
それではエントリーをRSS2.0で出力しましょう。ここでは編集したwp-rss2.phpをwp-rss2-full.phpとして説明します。
単にwp-rss2-full.phpにアクセスするだけでもいいのですが、月毎やカテゴリー毎にRSSを取得したい場合は次のようにすればOKです。
- 月毎:http://www.hoge.com/wp-rss2-full.php?m=200510
- カテゴリー毎:http://www.hoge.com/wp-rss2-full.php?category_name=install
上記の例では2005年10月、installというカテゴリーをそれぞれ指定しています。カテゴリーで指定する場合は、カテゴリースラッグを入力するようにしてください。管理画面»『管理』» 『カテゴリー』で、知りたいカテゴリーの編集ボタンをクリックすればカテゴリースラッグがわかります。
取得したRSSをブラウザの『名前を付けて保存』で適当な名前(ここではfeed.xmlとします)で保存します。
それではいよいよインポートです。
ページ: 1 2