勉強したことのメモ

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でチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...

CSVファイルをアップロードしてWordPressに記事を投稿する方法

CSVファイルをアップロードすることでWordPressに記事を投稿したかった。 ...

Advanced Custom FieldsでGoogleMapの使用する方法

Advanced Custom FieldsでGoogleMapを使用したかった ...

Advanced Custom Fieldsでセレクトメニューを動的に生成する方法

WordPressでカスタムフィールド設定用のプラグインAdvanced Cus ...

WordPressで記事毎に設定したバナー広告を表示させる方法

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指 ...