勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

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

   2024/02/20  WordPress

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

  関連記事

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」プラグインで連載(シリーズ)記事機能の実装方法をメモしたが、 ...