プラグイン「WP All Export」の使い方
ワードプレスの記事を含むデータをCSV/XMLでエクスポートする無料のプラグインツールの使用方法についてです。
エクスポートするプラグインの数は、リポジトリから探してみると案外少ないので、個人的に無料のプラグインから選ぶと「WP All Export」一択に思えます。
というのは、比較したのがワードプレスが標準的に備えているエクスポートツールは確かXMLのみだったと思いますし、どれもエクスポートするオブジェクトを絞り込むフィルター機能に乏しいように思えます。
実は一度WooCommerceの商品をCSVで扱えないかと探したことがありましたが、こちらは有料でしたので自分で簡易的なCSV機能を作ったか作ろうとしたかといった曖昧な記憶があります。
ただ、絞込み機能を無料の状態で使用するにあたっては少しハードルがあり、ワードプレスの「WP_Query」の使い方の知識が少し必要になりますが、テーマやプラグインなどを自分で作成したりカスタマイズした経験があるとハードルは殆どゼロに等しいです。
プラグイン:WP All Export
ページの案内
何故他のエクスポートツールように「エクスポート」のようなページ名でなく、「新規エクスポート」というページ名なのかというと、このプラグインではエクスポートするクエリを保存し、のちに同じ条件で検索(条件の編集も可)することができ、エクスポートすると同時にそのエクスポートアクションを保存できるからです。
二番目の「エクスポートを管理」というページでは、まさに一度使用したエクスポート(アクション)がそれぞれ保存されていて、同じ条件で実行したり、編集を加えることができるよう、一覧となっています。
「設定」は、API利用やスケジューリング、絞り込むクエリのインポート機能などですので、最初は気にしなくても大丈夫です。
では、新規エクスポートを試してみましょう。
ステップ1:対象を選択・絞る
先ほどご案内した最初のページですが、選択肢が2つ表示されています。
- 特定の投稿タイプ
- WP_Query結果
緑色に光っているのが現在選択されている方です。
有料版では投稿タイプの選択肢の下にフィルタリング機能が使用可能で、カテゴリ指定などのルールを追加することができます。
投稿タイプの選択肢にある「分類」は恐らく分類として登録されているデータそのものを扱うものですので、事前確認をしっかりした方がいいです。
WP_Query結果の場合
と書かれても分かりにくいかもしれませんが、WP_Queryはワードプレスで条件に合う投稿などのオブジェクトを取得する際に使用するクエリです。
これを使うことにより、無料版であるにも拘らず、ある程度条件を指定して、条件に適合するもののみを抽出できます。
クエリを書き込むのは一番下のテキストボックス内です。
クエリの種類は、
- 投稿タイプ
- ユーザー
- コメント
を検索するものが用意されていますが、ここでは基本的な投稿タイプでの紹介をしていきます。
もう一度参考ページを貼っておきます。
参考ページ:WP_Query
使用するクエリは以下のようなものです。
'post_type' => array( 'post' ),
'post_status' => array( 'public' ),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'name',
'terms' => array( 'カテゴリー1', '未分類' )
),
)
解説すると、本来は
$wp_query = new WP_Query( array(
'post_type' => array( 'post' ),
'post_status' => array( 'public' ),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'name',
'terms' => array( 'カテゴリー1', '未分類' )
),
)
) );
とクエリを書いて、投稿オブジェクトのリストを「$wp_query」で取得するのですが、「WP All Export」のクエリを使用する際は、クエリの引数として使用される連想配列の中身を直接書く形になります。
上の条件ですと、
- 投稿タイプ: 投稿
- 投稿ステータス:公開
- 「カテゴリー」の「未分類」あるいは「カテゴリー1」を有する
といったものが対象となります。
PHP言語で部分的に書くような状態で、ワードプレスのカスタマイズができる方なら大抵の方は扱えると信じておきます。
$wp_query = new WP_Query( array(
// ここを直接書き込みます。
) );
また、tax_queryというパラメータを指定することで、少し複雑な分類を指定することもできてしまいます。
※ 最後の行末にカンマ(,)を付けるとエラーとなりますので、ご注意を。
このような形になります。

クエリが書けましたら、一番下の「エクスポート ファイルをカスタマイズします。」ボタンをクリックします。
クエリの書き方が間違えているとエラーとなります。
また、文字列検索することもできますが、プラグインのエラーなのか、単にプラグインが対応していないのか分かりませんが、次のステップでエラーが起きます。。。orz
では、ボタンをクリックしてみましょう。
ステップ2:CSVに出力するフィールドを選択
基本的な操作はこれだけで大丈夫です。
下にある項目はオプションですが軽く触れておきます。
紫枠の高度な設定は、区切りを指定できますが、インポート側のパーサが処理できない場合など以外では、標準的な設定のまま変更しない方がいいので、慣れている方以外は操作しない方が吉です。
次に緑枠内は、エクスポートするファイルの種類です。標準的なCSVファイルやXMLファイルを指定することが可能です。有料版では、エクセル形式にもできるようです。
最後の青枠は、CSVフィールドのテンプレート設定です。チェックを入れることで、操作中の設定フィールドをテンプレートとして保存することができます。
また、保存されているテンプレートを選択することで、上のフィールドをドラッグドロップなどで設定する手間を省略することもできます。
出力するCSVフィールドの設定が完了し、プレビューなどでも問題がないようでしたら、「続行」をクリックして次のステップに進みます。
ステップ3:確認と実行
ここまでくればあとは実行するだけです。
では、「エクスポートの確認&実行」をクリックしましょう。
エクスポートを管理
管理画面の「すべてエクスポート」->「エクスポートを管理」というページについてです。
注意点は「設定のエクスポート」という項目が、恐らく「エクスポートの設定」の誤訳だということです。
翻訳はボランティアで行われていると思いますので、和訳は完璧ではないようです。
最後に
WP_Queryを直接書くことができるため、無料版でも条件の絞込みができるのも魅力的ですが、一度実行したエクスポートアクションをテンプレートとして保存しておけるのは非常に便利です。
他のエクスポートプラグインでは使用不可な機能が豊富です。
無料アドオンも豊富で、すでにリポジトリにアップロードされているものもあります。
もちろんインポート用のプラグインも存在します。
ちなみにWP_Queryでエラーとなってしまう文字列検索は、
's' => '文字列'
という形です。
クエリのサンプル
カテゴリー「カテゴリー1」の投稿:
'post' => array( 'post' ),
'post_status' => array( 'public' ),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'name',
'terms' => array( 'カテゴリー1' )
),
)
要ログインの「プライベート」ステータスのカテゴリー「カテゴリー1」の投稿:
'post' => array( 'post' ),
'post_status' => array( 'private' ),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'name',
'terms' => array( 'カテゴリー1' )
),
)
タグ「タグ1」の投稿:
'post' => array( 'post' ),
'post_status' => array( 'public' ),
'tax_query' => array(
array(
'taxonomy' => 'tag',
'field' => 'name',
'terms' => array( 'タグ1' )
),
)
カテゴリー「カテゴリー1」とタグ「タグ1」を併せ持つ投稿:
'post' => array( 'post' ),
'post_status' => array( 'public' ),
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'name',
'terms' => array( 'カテゴリー1' )
),
array(
'taxonomy' => 'tag',
'field' => 'name',
'terms' => array( 'タグ1' ),
),
)
カテゴリー「カテゴリー1」とタグ「タグ1」のどちらかを持つ投稿:
'post' => array( 'post' ),
'post_status' => array( 'public' ),
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'name',
'terms' => array( 'カテゴリー1' )
),
array(
'taxonomy' => 'tag',
'field' => 'name',
'terms' => array( 'タグ1' ),
),
)
公開時にテキストが消えている部分がありましたので、後から少し修正しました。。。orz