WordPressのエクスポート機能って便利ですね。以下の方法でエクスポートファイルをダウンロードできます。
WordPressのエクスポートファイルをダウンロードする方法
WordPressの管理画面から「ツール」→「エクスポート」を選びます。
エクスポート画面に移動するので、エクスポートしたい内容を選んで「エクスポートファイルをダウンロード」ボタンを押します。
すると、XML形式で書かれたエクスポートファイルのダウンロードが始まります。
以上が前置きで、以下が本題です。
エクスポートファイルを元に、細かく投稿を振り分けることになった
ダウンロードしたエクスポートファイルを元にして、新しいサイトに投稿をインポートすることがありました。
インポートする際、そのままインポートするのではなく、ルールを設けて、投稿ごとに細かく振り分けをする必要がありました。
例えば、以下のようなルールです。
- 投稿Aはカスタム投稿タイプAの投稿としてインポートする
- 投稿B内の本文中に特定の文字がある場合は、Bというタグをつけてカスタム投稿タイプBの投稿としてインポートする
- 下書きの投稿は、すべてmeta情報にnoindex処理を付け加えておく
などです。ルールはもっとありますが、一例です。
というわけで、エクスポートファイルに書かれた内容を読み込んで、ルールに沿って振り分け処理のプログラムを書くことにしました。
こんなイメージで投稿を振り分けていく
初めてのことなので、今後のためにエクスポートファイルには何が書かれているのか調べました。結構いろいろと書いてあるんですが、今回は投稿データに焦点を絞って理解したことを書きました。
もし機会がありましたらご参考ください。
エクスポートファイルの中身を見てみよう
それではさっそく~。ダウンロードしたエクスポートファイルをテキストエディタで開いて、投稿データを1つ見ます。「<item>~</item>」で囲まれた部分に注目していけばOKです。
例えば下のようなデータがあったとします。
投稿データの例
ほんとはもっと記述があるんですが、今回は説明したい部分を抜粋しています。
<item> <title>携帯電話の月額料金って高すぎる。機種変もしたいので、freetel(フリーテル)のサービス説明会に行って話を聞いてきました</title> <link>https://www.imamura.biz/blog/google/android/22968</link> <wp:post_id>22968</wp:post_id> <wp:status>publish</wp:status> <wp:post_type>post</wp:post_type> <category domain="category" nicename="android"><![CDATA[android]]></category> <category domain="post_tag" nicename="freetel"><![CDATA[freetel]]></category> <category domain="post_tag" nicename="%e3%83%95%e3%83%aa%e3%83%bc%e3%83%86%e3%83%ab"><![CDATA[フリーテル]]></category> <category domain="post_tag" nicename="%e7%af%80%e7%b4%84"><![CDATA[節約]]></category> <wp:postmeta> <wp:meta_key>_thumbnail_id</wp:meta_key> <wp:meta_value><![CDATA[23021]]></wp:meta_value> </wp:postmeta> </item>
一見とても複雑に見えますが、書いてあることは全然難しくないです。
上のデータは、以前書いた「携帯電話の月額料金って高すぎる。機種変もしたいので、freetel(フリーテル)のサービス説明会に行って話を聞いてきました」の投稿データです。
この投稿データを細かく分けて、何が書かれているのかを見ます。
投稿タイトル
そのまんま、タイトル名が入っています。
<title>携帯電話の月額料金って高すぎる。機種変もしたいので、freetel(フリーテル)のサービス説明会に行って話を聞いてきました</title>
投稿ID
投稿ID「22968」が入っています。
<wp:post_id>22968</wp:post_id>
投稿ステータス
「publish」は、公開済みの状態を意味しています。他の投稿ステータスはこちらをご参考ください。
<wp:status>publish</wp:status>
投稿タイプ
「post」は投稿の意味です。
<wp:post_type>post</wp:post_type>
カテゴリー
投稿が所属しているカテゴリーのスラッグは「android」で、表示名も「android」です。
<category domain="category" nicename="android"><![CDATA[android]]></category>
タグ
投稿に付けられたタグが3つあります。「freetel」「フリーテル」「節約」ですね。
<category domain="post_tag" nicename="freetel"><![CDATA[freetel]]></category> <category domain="post_tag" nicename="%e3%83%95%e3%83%aa%e3%83%bc%e3%83%86%e3%83%ab"><![CDATA[フリーテル]]></category> <category domain="post_tag" nicename="%e7%af%80%e7%b4%84"><![CDATA[節約]]></category>
カテゴリー、タグについて見ると、
- カテゴリーは「domain=”category”」
- タグは「domain=”post_tag”」
となっていますね。つまり「domain=”タクソノミー名”」で分けられているんだなぁと理解しました。
アイキャッチ(サムネイル)
アイキャッチ(サムネイル)のID「_thumbnail_id」が「23021」だよ、という意味です。アイキャッチ(サムネイル)の設定をしている場合は、投稿ID「22968」とは別に、アイキャッチ(サムネイル)のIDが書かれているんですね~。
<wp:postmeta> <wp:meta_key>_thumbnail_id</wp:meta_key> <wp:meta_value><![CDATA[23021]]></wp:meta_value> </wp:postmeta>
というわけで、以上のように分けて見てみると理解しやすかったです。
おまけ:投稿IDやアイキャッチ(サムネイル)のIDから、添付ファイルに関するデータを見つけることもできる
エクスポートファイル内で投稿IDやアイキャッチ(サムネイル)のIDを辿ると、投稿に関連付けられた添付ファイルのデータやアイキャッチ(サムネイル)のデータを見つけることができます。
投稿ID「22968」で検索
<wp:post_parent>22968</wp:post_parent>
アイキャッチ(サムネイル)のID「23021」で検索
<wp:post_id>23021</wp:post_id>
上記のような具合で、投稿タイプが「attachment(添付)」の投稿データが見つかります。添付ファイルに関連するデータが入っていますので、もっと知りたい場合は実際にエクスポートファイルを見てみると理解が深まると思います。
まとめ
エクスポートファイルをそのままインポートするのではなく、ちょっと工夫したかったので「まずは中身を知ろう」と思って今回調べました。その甲斐があって、思った通りのことができました。
- 「エクスポートファイルって何が書かれてるんだろう、ちょっと知りたい」
- 「エクスポートファイルをもとにして、構成を変えてインポートしたい」
などお考えの方はご参考くださいますと幸いです。
このページを共有する