Really Simple CSV Importerを使ってAdvanced Custom FieldsのRepeater Fieldサブフィールドを一括登録
-
Really Simple CSV Importerを使ってAdvanced Custom Fields proのRepeater Fieldサブフィールドを一括登録したいのですが、どのようにcsvファイルに設定するかわかりません。
(普通のフィールドの情報はうまくimportされるのですが。)
下記に参考にしたサイトと躓いた箇所をまとめます。https://heartybrain.com/13457/
>果物F_みかんF
これにならい、
自分のサイトのフィールド名_サブフィールド名をcsvファイルに記載しましたが
うまくimportされませんでした。http://notnil-creative.com/blog/archives/2497
>下記のコードをphpファイルに保存し、wp-content/plugins/ ディレクトリーにアップロードし、プラグインとして有効化します。ここから先が不明でした。ディレクトリーにアップロードしましたが、管理画面>プラグインに表示されないため有効化できませんでした。
(下記のコード)
<?php /* Plugin Name: RS CSV Importer Customizer Version: 0.1 */ function rsci_meta_filter( $meta, $post, $is_update ) { echo '<pre>'; print_r($meta); echo '</pre>'; $meta_array = array(); $repeater_array = array(); foreach ($meta as $key => $value) { // カスタムフィールド名が "textfield" だった時 if ($key == 'textfield') { // ACF用のフィールドキーに変換 $meta_array['field_52528d5b8ad30'] = $value; // カスタムフィールド名が "select" だった時 } elseif ($key == 'select') { // カンマで分割して配列として登録 $meta_array['field_52528dc88ad31'] = preg_split("/,+/", $value); // 繰り返しフィールド用のデータを配列に入れていく処理 } elseif ($key == 'text_1') { $repeater_array[0]['repeater_text'] = $value; } elseif ($key == 'text_2') { $repeater_array[1]['repeater_text'] = $value; } elseif ($key == 'text_3') { $repeater_array[2]['repeater_text'] = $value; } elseif ($key == 'num_1') { $repeater_array[0]['repeater_number'] = $value; } elseif ($key == 'num_2') { $repeater_array[1]['repeater_number'] = $value; } elseif ($key == 'num_3') { $repeater_array[2]['repeater_number'] = $value; // ACF以外のメタデータはそのまま通す } else { $meta_array[$key] = $value; } } // 繰り返しフィールドの配列を戻す $meta_array['field_52528dea8ad32'] = $repeater_array; echo '<pre>'; print_r($meta_array); echo '</pre>'; return $meta_array; } add_filter( 'really_simple_csv_importer_save_meta', 'rsci_meta_filter', 10, 3 );
ヘルプの必要なページ: [リンクを見るにはログイン]
1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
- トピック「Really Simple CSV Importerを使ってAdvanced Custom FieldsのRepeater Fieldサブフィールドを一括登録」には新たに返信することはできません。