WordPressでカスタムフィールドとCSVファイル投稿する方法
2024/02/20
WordPressでカスタムフィールド設定している環境に、CSVファイルアップロードで記事投稿を行いたかった。カスタムフィールド設定はAdvanced Custom Fieldsを、CSVファイルアップロード投稿はReally Simple CSV Importerのプラグインを使用する。以下に方法をメモ。
カスタムフィールド設定
カスタムフィールド設定は以下を想定する。
フォーム内容 | カスタムフィールドの名前 |
テキストボックス | csv_text |
テキストエリア | csv_textarea |
チェックボックス | csv_checkbox |
ラジオボタン | csv_radio |
セレクトメニュー | csv_select |
チェックボックスは注意が必要
チェックボックスのみプラグインをカスタムするか、別途プラグインを入れるもしくは作る必要がある。今回は別途プラグインを作る方法で対応。
/wp-content/plugins/ディレクトリにacf-customフォルダを作成。そのフォルダ内にacf-custom.phpを作成し、以下内容を追記する。
<?php /* Plugin Name: acf-custom */ function adf_custom( $meta, $post, $is_update ) { //チェックボックスのカスタムフィールド名 $checkbox = array( 'csv_checkbox' ); foreach( $meta as $key => $val){ //checkbox if( in_array($key, $checkbox) ){ if( $val != "" ){ $meta[$key] = preg_split("/,+/", $val); }else{ $meta_array[$key] = ""; } } } return $meta; } add_filter( 'really_simple_csv_importer_save_meta', 'adf_custom', 10, 3 );
CSVファイル内容
CSVファイル内容を入力する際は以下を参考にする。
フォーム内容 | 書き方 |
テキストボックス | ダブルクオーテーションなし |
テキストエリア | ダブルクオーテーションあり 改行可 |
チェックボックス | カンマ区切りにした内容をダブルクオーテーションで囲む |
ラジオボタン | ダブルクオーテーションなし |
セレクトメニュー | ダブルクオーテーションなし |
関連記事
-
Advanced Custom Fieldsでセレクトメニューを動的に生成する方法
WordPressでカスタムフィールド設定用のプラグインAdvanced Cus ...
-
Advanced Custom Fieldsでチェックボックスの記事を取得
Advanced Custom Fieldsでチェックボックス設定しているカスタ ...
-
WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法
WordPressにてAdvanced Custom Fieldsで設定したカス ...
-
Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法
WordPressでAdvanced Custom Fieldsにて設定した項目 ...
-
WordPressにてAdvanced Custom Fieldsを用いて連載(シリーズ)記事機能を実装する方法
先日「Series」プラグインで連載(シリーズ)記事機能の実装方法をメモしたが、 ...