勉強したことのメモ

webプログラマが勉強したことのメモ。

WordPressでカスタムフィールドとCSVファイル投稿

      2019/01/28

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ファイル内容を入力する際は以下を参考にする。

フォーム内容 書き方
テキストボックス ダブルクオーテーションなし
テキストエリア ダブルクオーテーションあり
改行可
チェックボックス カンマ区切りにした内容をダブルクオーテーションで囲む
ラジオボタン ダブルクオーテーションなし
セレクトメニュー ダブルクオーテーションなし

 - WordPress

  関連記事

WordPressで任意のクエリをページ内で出力する方法

WordPressの固定ページ内でuidという任意のGETクエリを取得して、記事 ...

WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法

WordPressにてAdvanced Custom Fieldsで設定したカス ...

WordPressのカテゴリーベースに関して

WordPressのパーマリンク設定でカテゴリベースを設定したかった。ここは変更 ...

WordPressで任意のクエリをページに出力するプラグイン

先日、「WordPressで任意のクエリをページ内で出力する方法 」という記事で ...

WordPressの管理画面で記事一覧にアイキャッチ画像を表示

WordPressの管理画面で記事一覧にアイキャッチ画像を表示させる方法のメモ。 ...

WordPressでスケジュール実行される日時を調べる方法

WordPressであるシステムを実装し、その際に毎日1回スケジュール実行(WP ...

Advanced Custom Fieldsで記事取得

WordPressでAdvanced Custom Fieldsにて設定した項目 ...

WordPressでメモリを節約しつつ高速化する設定方法

メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...

WordPressでユーザー毎にフラグを持たせる

WordPressでユーザー毎に何らかのフラグを持たせて、フラグによって分岐処理 ...

WordPress5のエディタを元に戻す方法

WordPress5にアップデートしたところ記事投稿ページのエディタが非常に使い ...