web関連

【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)」へインポートする際の編集例。以下は、書き換え例。

  • 投稿部分:postnews
  • カテゴリー部分:categorynews_category
  • タグ部分:post_tagnews_tag

また、タクソノミーnews_categorynews_tagは事前に作成する必要がある。

その他気になった点。

  • nicenameはWordPress上のカテゴリーやタグで作成したモノ。(変更の必要なし)
  • <![CDATA[attachment]]>は画像。

インポート作業後の流れ・注意事項

xmlファイルの編集が終ったら「ツール → インポート」でインポート。

インポートをするとWordPressの管理画面で作成された「カテゴリーやタグ(nicename部分)」は記事のインポートと同時に行われる。(なので、空のタクソノミーを用意すればok)

また、投稿に紐づく画像なども流れでインポートできる。

しかし、「ユーザー」は事前に作成しておかないと「該当するユーザー」が存在しないため、投稿の「作成者情報」を破棄することになるので注意。
ユーザーのエクスポート・インポートは「Import Export WordPress Users and WooCommerce Customers」プラグインを使えば無料で行えた。(画像を除いた基本情報のみ)

もし、インポートを失敗した場合は記事を「ゴミ箱」に入れて「完全に削除」すれば再インポート可能。一応プラグインなどもあったりするようだが、使ってない。

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。