【WordPress】投稿記事をエクスポートし、カスタム投稿にインポートする方法
WordPressの投稿記事を「ツール → エクスポート」でエクスポートした後に、別のWordPressのカスタム投稿に「ツール → インポート」でインポートする方法の備忘録。
xmlファイルを編集
投稿記事をエクスポートして、そのまま別のWordPressにインポートしても「投稿」にインポートされてしまう。
なので「投稿」記事を「カスタム投稿」にインポートする場合は、エクスポートされたxmlファイル(例:サイト名.WordPress.2024-00-00.xml
)を以下のように編集する必要がある。
<wp:post_type><![CDATA[post]]>…
<category domain="category"…
<category domain="post_tag"…
<wp:post_type><![CDATA[news]]>…
<category domain="news_category"…
<category domain="news_tag"…
上記は「投稿(カテゴリー、タグ両方あり)」を「カスタム投稿(/news)」へインポートする際の編集例。以下は、書き換え例。
- 投稿部分:
post
→news
- カテゴリー部分:
category
→news_category
- タグ部分:
post_tag
→news_tag
また、タクソノミーnews_category
やnews_tag
は事前に作成する必要がある。
その他気になった点。
nicename
はWordPress上のカテゴリーやタグで作成したモノ。(変更の必要なし)<![CDATA[attachment]]>
は画像。
インポート作業後の流れ・注意事項
xmlファイルの編集が終ったら「ツール → インポート」でインポート。
インポートをするとWordPressの管理画面で作成された「カテゴリーやタグ(nicename
部分)」は記事のインポートと同時に行われる。(なので、空のタクソノミーを用意すればok)
また、投稿に紐づく画像なども流れでインポートできる。
しかし、「ユーザー」は事前に作成しておかないと「該当するユーザー」が存在しないため、投稿の「作成者情報」を破棄することになるので注意。
ユーザーのエクスポート・インポートは「Import Export WordPress Users and WooCommerce Customers
」プラグインを使えば無料で行えた。(画像を除いた基本情報のみ)
もし、インポートを失敗した場合は記事を「ゴミ箱」に入れて「完全に削除」すれば再インポート可能。一応プラグインなどもあったりするようだが、使ってない。