サポートオプション
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を指定します。複数ある場合はカンマ区切りで指定します。
- 件数(1.4以上)
- 取得件数を指定します。
- 並び順(1.4以上)
- 降順、昇順から指定します。降順は新しい記事、昇順は古い記事から出力します。
- 投稿期間、更新期間(1.4以上)
- 記事の投稿期間、更新期間で絞り込みます。
- 設定
- 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)などの階層を持たないカスタム分類はタグ名で入力・出力されます。
(1.1.5以降)階層の有無によらず、カスタム分類はカスタム分類名で入出力されます。カスタム分類名とスラッグが異なる場合は、カスタム分類名の後に[]でスラッグを指定します。
例)カテゴリー1[cat1]
インポート時に存在しないカテゴリーは自動的に生成されます。複数指定する場合は、""で値を囲み、カテゴリーを,(カンマ)で区切ってください。親子関係のあるカテゴリーを指定しても関係を維持した状態でカテゴリーは生成されます。カテゴリーの親子関係のある指定には、環境設定の階層区切りを使用してください。 - その他の項目は投稿メタデータ(wp_postmeta テーブルのカスタムフィールド)として扱われます。
- カスタムフィールドの項目名の末尾に * (アスタリスク)を付けると、CSVファイルのインポート時に、カスタムフィールドのデータ内に , (カンマ)があった場合に分割してカスタムフィールドを複数データとして保存します。* (アスタリスク)がない場合は、カスタムフィールドを1データとして保存します。データのエクスポート時には無視されます。
- Types プラグインのチェックボックス用カスタムフィールド(1.3以降)
カスタムフィールドの項目名の末尾に ** (アスタリスク2つ)を付けると、Types プラグインで設定したチェックボックスの値として保存できます。複数データがある場合は、, (カンマ)で分割してください。なお、複数データとして、, (カンマ)で分割する場合は、値全体をを "" で囲う必要があります。 - Advanced Custom Fields プラグインのチェックボックス用カスタムフィールド(1.4.3以降)
カスタムフィールドの項目名の末尾に *** (アスタリスク3つ)を付けると、Advanced Custom Fields プラグインのチェックボックスの値として保存できます。複数データがある場合は、, (カンマ)で分割してください。なお、複数データとして、, (カンマ)で分割する場合は、値全体をを "" で囲う必要があります。 - メディア(1.1以降)
画像などのメディアを登録するには、項目名に post_media# を指定してください。メディアの値には、あらかじめFTP等でアップロードしておき、そのメディアのURLを指定します。複数ある場合は , (カンマ)で区切ります。メディアは投稿と関連付けられ、post_status に delete が指定された場合は投稿と合わせてメディアも削除されます。 - アイキャッチ画像(1.1.3以降)
アイキャッチ画像を登録するには、項目名に post_media## を指定してください。メディアの値には、あらかじめFTP等でアップロードしておき、そのメディアのURLを一件指定します。 - メディア付随情報(1.2.2以降)
メディア登録時に、メディア付随情報(タイトル、代替テキスト、キャプション、説明)を指定することができます。メディアのURLに続いて、メディア区切り(デフォルトは # )で区切って、順番に指定していきます。キャプションを指定しない場合は空白にします。メディア区切り文字は環境設定のメディア区切りで変更できます。例)http://domain/image.jpg # タイトル # 代替テキスト # キャプション # 説明
1.2.9以上では、メディア付随情報の後にカスタムフィールドのフィールド名を指定できます。カスタムフィールドのフィールド名が指定されると、アップロードしたメディアのIDがカスタムフィールドに保存されます。これは Custom Field Template プラグインのファイルアップロード機能に対応したものです。例)http://domain/image.jpg # タイトル # 代替テキスト # キャプション # 説明 # cf_name - プライマリキー項目(1.1以降)
ID項目を使用せずに、プライマリキー項目を使用して投稿を更新、削除することが可能です。プライマリキー項目を使用すると、プライマリキー項目の値で投稿を識別するようになります。プライマリキー項目は、任意のカスタムフィールドのキー名に %% を付加します。例えば、pkey%% のような形です。プライマリキー項目の値には一意の値を投稿ごとにつけてください。プライマリキー項目の値が投稿で重なると正常に識別されなくなるのでうまく更新されません。なお、プライマリキー項目を使用する場合は、post_type を必ず指定する必要があります。
環境設定(1.1.5以降)
- 階層区切り
- 階層を持つカスタム分類を入出力する際の区切り文字を設定します。デフォルトは、¥ です。
- メディア区切り(1.2.2以降)
- メディア付随情報の区切り文字を指定します。デフォルトは、# です。
- カスタム分類自動スラッグID
- カスタム分類でスラッグが指定されていない場合に、カスタム分類IDを自動的にスラッグとしてセットする場合にチェックを入れます。
- 階層カスタム分類を全てセット(1.1.6以降)
- インポート時に階層を持つカスタム分類を全てセットする場合にチェックを入れます。
自動更新オプション(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項目が追加されているはずです。あとはこのリストでデータを管理していくことになります。
ライセンス
このプラグインは、WordPressと同じライセンスであるGNU GPLを採用しています。
Q&A
- 予約投稿をしたいのですが?
- 予約投稿を利用する場合は、post_status の値を future にセットし、post_date と post_date_gmt に未来の公開日時を指定します。post_date_gmt は通常、post_date の9時間前となります。
- カテゴリが登録できませんが?
- カテゴリ名を間違えておられませんか?カテゴリは、category で、post_category ではございません。category をご利用ください。1.4.4 以降で、post_category による ID での登録も可能です。複数IDを指定する場合は,(カンマ)区切りで指定してください。
- カスタム投稿タイプやカスタム分類の項目名はどうなりますか?
- カスタム投稿タイプは、post_type という項目名で値に、post、page に加えて自由なカスタム投稿タイプ名(bookやmovie)を指定します。カスタム分類の項目名はカスタム分類名を項目名に指定し、値に実際のカスタム分類を指定してください。
- 投稿IDではなく、カスタムフィールドの値を元にデータを更新したいのですが?
- プライマリキー項目という機能を利用するとカスタムフィールドの値で投稿を識別して投稿データを更新することが可能です。詳しくは、CSV設定オプションの説明の一番下にある、プライマリーキー項目の欄をご覧ください。
- エクスポートした CSV を Excel で開くとエラーが出ますが?
- 「ファイル形式と拡張子が一致しません。」または「SYLK ファイル形式ではない可能性があります。」といったエラーが出ても、Excel でそのまま開くことができます。CSV ファイルの先頭文字列が、ID の場合に出る Excel のエラーで、使用上は問題ありません。
- マルチサイトで使用できますか?
- 各サイトでCSV投稿マネージャープラグインの機能(インポート、エクスポート)を独立してご利用いただけます。ネットワークでのプラグインの有効化もご利用いただけます。
- SJISでインポートすると、文字化けしたり、正しく取り込めていない場合があるのですが?
- php.ini の設定で、mbstring.language が Japanese になっているか、確認してみてください。
- インポート、エクスポートの件数に制限はありますか?
- 特にありません。
- インポートが0件となり、うまくいきませんが?
- post_date などの日時を指定する項目は、YYYY-MM-DD HH:MM:SS の形式で入力してください。
- プライマリーキーを利用したインポートが遅いのですが?
- カスタムフィールドの件数が多くなると、プライマリーキーの検索が遅くなり、インポートに時間がかかる場合があります。その場合は、以下のようにテーブルに INDEX を張ってやることで高速化することが可能です。
ALTER TABLE wp_postmeta ADD INDEX meta_idx (meta_key, meta_value(255)); - 処理の実行時間を長くしたいのですが?
- インポート件数が多いと、PHP やサーバーの実行時間制限に引っかかり、途中でインポートが止まる場合があります。
PHP の設定で調整すべき項目:
max_execution_time (プラグイン側で無制限に変更されます)
max_input_time (php.ini でのみ変更可能です)
nginx の設定で調整すべき項目(参考):
# vi /etc/nginx/php-fpm
fastcgi_read_timeout 1800;
# vi /etc/php-fpm.d/www.conf
request_terminate_timeout = 1800
変更履歴
- 1.5 2024年09月10日
- CMS×WP サブスク対応。
- 1.4.7 2020年08月18日
- WordPress 5.5 対応。
- コードクリーニング。
- 1.4.6 2020年01月21日
- バグフィックス: Advanced Custom Fields のチェックボックス。
- 1.4.5 2018年12月18日
- バグフィックス: メディアアップロード。
- 1.4.4 2018年10月18日
- バグフィックス: post_category。
- バグフィックス: Advanced Custom Fields のチェックボックスの値のエクスポート。
- 1.4.3 2018年09月12日
- Advanced Custom Fields のチェックボックスの値のインポート、エクスポート。
- 1.4.2 2018年08月01日
- コードクリーニング。
- 1.4.1 2017年07月08日
- インポート時のエンコード指定。
- 1.4 2016年08月31日
- CSV投稿エクスポーターの拡張: 件数、並び順、投稿期間、更新期間。
- CSV設定オプションでの項目名を簡単読込。
- 1.3.1 2015年11月16日
- コードクリーニング(4.4向け)。
- 1.3 2015年04月13日
- Types プラグインのチェックボックスの値保存対応。
- 1.2.9 2015年01月13日
- メディアをアップロードする際に、メディアIDをカスタムフィールドにセットするオプション(Custon Field Template のファイルアップロード機能対応)。
- 1.2.8 2014年10月20日
- プライマリーキーによるインポート処理の改善。
- コードクリーニング。
- バグフィックス: メモリー解放。
- 1.2.7 2013年12月28日
- バグフィックス: post_type が指定されていない場合のプライマリキーでの更新(post を自動設定)。
- バグフィックス: 件数の多い投稿でのメモリ制限。
- 1.2.6 2013年03月23日
- バグフィックス: 配列のカスタムフィールドのエクスポート(WordPress 3.5以上)。
- 1.2.5 2013年03月06日
- バグフィックス: Mac の Excel で出力した CSV ファイルのインポート。
- 1.2.4 2013年01月18日
- バグフィックス: エクスポート時のエンコード。
- 1.2.2 2012年11月18日
- メディア付随情報対応。
- 1.2.1 2012年10月23日
- バグフィックス: エクスポート時のオフセット値。
- 1.2 2012年10月12日
- バグフィックス: エクスポート時にプライマリーキー項目の出力。
- バグフィックス: カスタム投稿タイプとプライマリーキー使用時のインポート。
- バグフィックス: 値が空の場合にカスタムフィールドを削除。
- 1.1.9 2012年10月02日
- バグフィックス: 大量データのエクスポート。
- 1.1.8 2012年08月03日
- バグフィックス: 公開設定以外の場合のプライマリキー項目による更新。
- 1.1.7 2012年05月16日
- バグフィックス: カスタムフィールドの空データ挿入。
- 1.1.6 2012年05月10日
- 階層を持つカスタム分類を全てセットするオプション。
- 環境依存文字の変換サポート。
- バグフィックス: 階層を持つカスタム分類。
- 1.1.5 2012年05月06日
- カスタム分類名(カテゴリー名)での入出力。
- 階層を持つカスタム分類のサポート。
- カスタム分類自動スラッグID。
- 1.1.4 2012年04月06日
- バグフィックス: 管理画面プラグイン操作の脆弱性。
- 1.1.3 2012年04月03日
- アイキャッチ画像登録。
- 1.1.2 2012年03月26日
- 自動更新ファイルパスのURL指定可能に。
- バグフィックス: 値のダブルクオテーションマーク。
- バグフィックス: 不必要なアクション。
- 1.1.1 2012年03月16日
- バグフィックス: マルチバイト文字列の項目名での使用。
- 1.1 2012年01月10日
- メディア登録機能。
- 自動ファイル更新機能。
- プライマリキー機能。
- バグフィックス: コード整備。
- 1.0.3 2011年06月13日
- バグフィックス:CSV設定オプション
- 1.0.2 2011年04月08日
- バグフィックス:コード整備
- バグフィックス:設定リンク
- 1.0.1 2011年02月21日
- 投稿削除機能
- バグフィックス:PHPの実行時間制限
- 1.0 2011年02月17日
- 初リリース
多言語化
- 英語、日本語対応