概要
想定環境
- WordPress
- カスタム投稿タイプ使用
- ACFに情報を登録
- XML/CSVをインポートして一括登録
美術館の収蔵品等の一定の項目を持つ情報をデータベースやExcel等で管理している場合、WEBサイトに公開しようとすると大量のページを作成する必要があります。
今回は、カスタム投稿タイプを使用し、1件当たりの情報を1投稿毎のカスタムフィールドにXML/CSVをインポートして一括登録していくことを想定しています。
WordPressの有料プラグイン「WP All Import Pro」を使用することでACFに対応した一括インポートが可能です。
対応ACFフィールド
- Repeater
- Gallery
- Text
- Text Area
- Number
- Password
- Image
- File
- Select
- Clone
- Flexible Content
- Post Object
- Relationship
- Taxonomy
- User
- Date Picker
- Color Picker
- Contact Form 7
- Limiter
- Checkbox
- Page Link
- PayPal Item
- WP WYSIWYG
- Gravity Forms
- Date and Time Picker
- Radio Button
- True / False
- WYSIWYG Editor
- Location Map
- Google Map
- Google Map Extended
インポート手順
ステップ1

- インポートするXML/CSVを選択します。
- 新規で登録する場合は「新しいアイテム」を選択し、目的のカスタム投稿タイプをプルダウンから選びます。
- 完了したら「ステップ2に進みます」をクリック
ステップ2

読み込んだXML/CSVファイルの確認画面です。
問題なければステップ3に進みます。
ステップ3

読み込んだXML/CSVファイルの各項目の値をどこに入力するかを設定します。
右側にある<node>に入れ子になっている各項目がXML/CSVの各列となっています。
画像の<no><title>等をドラッグ&ドロップで任意の項目にマッピングしていきます。

「Advanced Custom Fields アドオン」のプルダウンを開き、情報を入力するフィールドグループを選択します。
フィールドグループの各項目が出てきますので、画像では<title><category><day><text>を各項目にマッピングしています。
全てのマッピングが完了すればステップ4へ進みます。

直前にある「設定をテンプレートとして保存します。」を選択し、テンプレートを作成しておくと次回以降に今回のマッピング情報を利用することができます。
ステップ4

一連のインポート作業はレコードとして保存されます。
ステップ4では各投稿の「Unique Identifier」を入力します。
<node>内のIDに利用できる項目をマッピングするか、自動検出を利用しましょう。
更新されたXML/CSVで情報を上書きする場合に、この識別子を使い差分の検出が行われるので次回以降も同じ識別子を指定する必要があります。
インポート開始

ステップ4までの設定がすべて完了していれば「インポートの確認&実行」を押し、インポートを開始します。

上記画面でインポートは完了です。
対象のカスタム投稿タイプ内に投稿が新規作成されています。