Really Simple CSV Importerを使ってSmart Custom Fieldsのカスタムフィールド をインポートする際、基本はフィールド名そのままでインポート可能ですが、チェックボックスなど複数の値が入る場合は少し工夫が必要です。
csvサンプル
カスタムフィールド名humberger
のチェックボックスがあったとします。
csvのサンプルはこんな感じ。チェックボックスに焦点を当てたいので他の項目は割愛します。
scf_humberger |
---|
チーズバーガー,ダブルチーズバーガー,ロースカツバーガー |
ダブルチーズバーガー |
ダブルチーズバーガー,ロースカツバーガー |
ポイントは
- カスタムフィールド名の頭にscf_
を付ける。
- チェックボックスの値はカンマで区切る。
scf_
はcsvにだけ必要で、wordpressでカスタムフィールド を登録するときは必要ありませんのでご注意ください。
function.php側の処理
Really Simple CSV Importerで用意されているreally_simple_csv_importer_save_meta
フィルターを使って、インポートされた際に処理を走らせます。
function.php
function really_simple_csv_importer_meta_filter_checkbox( $meta, $post, $is_update ) {
foreach ($meta as $key => $value) {
if (strpos($value, ',') !== false) {
$_value = preg_split("/,+/", $value);
$meta[$key] = $_value;
}
}
return $meta;
}
add_filter( 'really_simple_csv_importer_save_meta','really_simple_csv_importer_meta_filter_checkbox', 5, 3 );
処理結果
ちなみにcsvはgoogleドキュメントが使いやすかった!形式指定ダウンロードでそのままcsv書き出しできて文字コードの問題もなし!複数人で編集できる!