勉強したことのメモ

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

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

   

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で任意のクエリをページ内で出力する方法 」という記事で ...

gzip圧縮とキャッシュをhttpd.confで設定する

今まで共用サーバーで使っていたWordPressをVPSに移した。 せっかくなの ...

WordPressで逆アクセスランキングの設置

WordPressに逆アクセスランキングを設置したかった。 ただ、広告が出ないタ ...

WordPressでGmailのSMTPサーバを使ってメール送信フォームを作る

■やりたかった事 WordPressでGmailのSMTPサーバを使用したメール ...

WordPressでサイトが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...

WPのget_the_contentsでpタグが挿入されない

WordPressのテーマを編集した際に表示が崩れるという症状が発生した。編集内 ...

WordPressのcron設定で負荷対策

WordPressのcron設定(wp-cron.php)を変更することで負荷が ...

WordPressと別プログラム間でSESSIONが引き継げない

同一サーバ内に自作したプログラムとWordPressを設置しており両者でセッショ ...

WordPressにインスタグラムの画像を表示

WordPressにインスタグラムへ投稿している画像を表示させたかった。プラグイ ...

FeedWordPressでアイキャッチ画像も設定する方法

FeedWordPressで更新記事を取得しつつ、アイキャッチ画像も自動で設定し ...