CSV投稿マネージャープラグイン
プラグイン本体
サポートオプション
CSV投稿マネージャープラグインは、カンマ区切りのCSVファイルでインポート、エクスポートすることでWordPressの投稿、ページ記事を管理するプラグインです。
Excel(エクセル)が生成するCSVファイルのインポートに対応しているので、データの管理をExcelで行い、Excelが生成したCSVファイルで、WordPressのデータの更新を行うことができます。
WordPress のカスタムフィールドを多用したポータルサイト、データベースサイトを構築する際に大変便利なプラグインです。

インストール
- ダウンロードした圧縮ファイルを解凍後、`csv-post-manager`ディレクトリを`wp-content/plugins`ディレクトリにアップロードします。(WordPressの管理画面から圧縮ファイルを直接アップロードしてインストールすることも可能です)
- WordPressの管理メニューからプラグインを選択し、CSV投稿マネージャープラグインを有効化します。
- 管理メニューの設定にあるCSV投稿マネージャーから利用します。CSV投稿マネージャープラグインの利用には管理者権限が必要です。
設定項目
CSV投稿マネージャープラグインの設定項目は以下のとおりです。
- CSV投稿インポーター
- CSV投稿エクスポーター
- CSV設定オプション
- 自動更新オプション
- オプションをエクスポートする
- オプションをインポートする
- オプションを削除する

CSV投稿インポーター
CSV投稿インポーターでは、CSVファイルをインポートして投稿記事を追加、更新します。設定を指定しない場合は、1行目の項目が強制的にデータの項目名として扱われます。その際、1行目はスキップされます。
設定を指定する場合で、最初の行を省略したい場合、カスタムフィールドのデータが空でも挿入したい場合はオプションのチェックボックスにチェックを入れます。
IDを指定し、post_status に delete を指定した行はデータインポート時に該当するデータを削除します。
CSV投稿エクスポーター
CSV投稿エクスポーターでは、条件を指定して絞り込んだデータを設定オプションに応じた項目名で、カンマ区切りのCSVファイルとして出力することができます。
出力したCSVファイルにID項目が含まれていれば、CSVファイルのデータを変更した後で、CSV投稿インポーターでWordPressの記事データを上書きすることができます。
CSV投稿エクスポーターのオプションには以下のものがあります。
- 投稿タイプ
- post(投稿)、page(ページ)などの投稿タイプを指定します。
- カスタム分類
- category(カテゴリー)などのカスタム分類の名前を指定します。カスタム分類IDがない場合は無視されます。category 以外のカスタム分類を指定する場合は、WordPress 3.1 以上が必要となります。
- カスタム分類ID
- 上述のカスタム分類に含まれるIDを指定します。複数ある場合はカンマ区切りで指定します。
- 設定
- CSV設定オプションの設定を選択します。設定がない場合は何も出力されません。
- エンコード
- UTF-8、SJIS、EUC-JPから出力するCSVファイルのエンコードを指定します。Excel で閲覧、編集するにはSJISを選択してください。
- 最初の行に項目名を含める
- データの先頭の行に出力されるデータの項目名を含める場合はチェックを入れます。
CSV設定オプション
設定オプションでは、CSVファイルのインポートまたはエクスポートする際に読み込まれる項目名をあらかじめ設定しておきます。CSV投稿インポーターでは設定はオプションになりますが、CSV投稿エクスポーターでは必ず必要となります。
設定のテキストエリアにCSVデータの項目名をカンマ区切りで入力してください。
CSV設定オプションではいくつか注意点があります。1行目を項目名にする場合も以下の仕様に従います。
- post_title は必ず含めてください。
- もしIDがあれば、データは上書きされます。
- 次の項目名は投稿データ(wp_posts テーブルの項目)として扱われます:
ID, post_author, post_date, post_date_gmt, post_content, post_title, post_category, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, comment_count, member_access_visibility - カテゴリー(category)などの階層化されたカスタム分類はカスタム分類IDで入力・出力されます。投稿タグ(post_tag)などの階層を持たないカスタム分類はタグ名で入力・出力されます。
- その他の項目は投稿メタデータ(wp_postmeta テーブルのカスタムフィールド)として扱われます。
- カスタムフィールドの項目名の末尾に * (アスタリスク)を付けると、CSVファイルのインポート時に、カスタムフィールドのデータ内に , (カンマ)があった場合に分割してカスタムフィールドを複数データとして保存します。* (アスタリスク)がない場合は、カスタムフィールドを1データとして保存します。データのエクスポート時には無視されます。
- (1.1以降)画像などのメディアを登録するには、項目名に post_media# を指定してください。メディアの値には、あらかじめFTP等でアップロードしておき、そのメディアのURLを指定します。複数ある場合は , (カンマ)で区切ります。メディアは投稿と関連付けられ、post_status に delete が指定された場合は投稿と合わせてメディアも削除されます。
- (1.1以降)ID項目を使用せずに、プライマリキー項目を使用して投稿を更新することが可能です。プライマリキー項目を使用すると、プライマリキー項目の値で投稿を識別するようになります。プライマリキー項目は、任意のカスタムフィールドのキー名に %% をふかします。例えば、pkey%% のような形です。プライマリキー項目の値には一意の値を投稿ごとにつけてください。プライマリキー項目の値が投稿で重なると正常に識別されなくなるのでうまく更新されません。
自動更新オプション(1.1以降)
自動更新オプションは、FTPなどでアップロードされたCSVファイルを WordPress の Cron によって定期的に読込、実行する機能です。WordPressにアクセスすることなく、CSVファイルの更新作業のみで、コンテンツを更新することができます。プライマリキー項目と合わせてご利用いただくと、WordPress のIDに関係なくコンテンツを更新できます。
- ステータス
- 起動するにチェックを入れると、自動更新が始まります。
- ファイルパス
- CSVファイルのパスを絶対パスで指定します。
- 実行間隔
- 自動更新の間隔を指定します。
- 削除
- 更新後、ファイルを削除する場合にチェックを入れます。ファイルのパーミッションを書き込み可能にしておきます。
オプションをエクスポートする
CSV投稿マネージャープラグインで設定したオプションをエクスポートする場合に使用します。
オプションをインポートする
CSV投稿マネージャープラグインでエクスポートした設定ファイルを読み込ませることで、設定のインポートを実行できます。
オプションを削除する
CSV投稿マネージャープラグインで設定したオプションを削除したい場合はこのオプション削除を実行します。一度実行してしまうと元に戻すことはできないのでバックアップを忘れないでください。
CSVファイルによるサイト管理のサンプル
ここでは、住所や電話番号を含む博物館のリストをExcel(エクセル)で作成し、WordPressに投稿記事として流し込んでみます。
まず、以下のような博物館のリストをExcelで作成してください。ここでは設定オプションを使用せずに一行目に項目名を直接指定する方法で行います。post_title、category、post_tag、post_statusはそれぞれ、投稿タイトル、カテゴリー、タグ、公開ステータスを指しています。pref、address、telはカスタムフィールドとして扱われ、それぞれ都道府県、住所、電話番号を意味しています。

リストが作成できたら、CSVファイルとして保存します。

管理メニューの設定にあるCSV投稿マネージャーをクリックし、CSV投稿インポーターをクリックし、先ほど保存したCSVファイルを選択し、「投稿をインポート」をクリックします。設定を指定しない場合は、一行目が項目名として扱われます。

インポートが完了すると、何件登録されたか表示されるので、実際に投稿にリストが登録されているか確認してみてください。

住所や電話番号がカスタムフィールドに登録されているかも確認してみてください。

続いて、データをCSVファイルとしてエクスポートしてみます。管理メニューの設定にあるCSV投稿マネージャーをクリックし、CSV設定オプションを表示します。先ほどのCSVファイルの項目名の先頭にIDを追加しておきます。IDがあると再度CSVファイルをインポートする際、該当するIDの投稿を上書きすることができます。

CSV投稿エクスポーターを開き、カテゴリーIDを指定し、先ほどの設定オプションを選択、エンコードではExcelでも直接開けるようにSJISを選択し、「投稿をエクスポート」をクリックします。

生成されたCSVファイルをExcelで開き、最初に作成したリストにID項目が追加されているはずです。あとはこのリストでデータを管理していくことになります。
ライセンス
このプラグインのPHPソースコードは、WordPressと同じライセンスであるGNU GPLを採用しています。画像、スタイルシートなどの著作権は原作者に帰属します。
変更履歴
- 1.1 2012年01月10日
- メディア登録機能。
- 自動ファイル更新機能。
- プライマリキー機能。
- バグフィックス: コード整備。
- バグフィックス:CSV設定オプション
- バグフィックス:コード整備
- バグフィックス:設定リンク
- 投稿削除機能
- バグフィックス:PHPの実行時間制限
- 初リリース
多言語化
- 英語、日本語対応

