勉強したことのメモ

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

  関連記事

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

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

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

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

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

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

Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法

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

WordPressにてAdvanced Custom Fieldsを用いて連載(シリーズ)記事機能を実装する方法

先日「Series」プラグインで連載(シリーズ)記事機能の実装方法をメモしたが、 ...