smart custom fieldsでカスタムフィールド作成

更新2021/12/28

カスタムフィールドを作るプラグインはいくつかあるのですが、その中の Smart Custom fields(スマートカスタムフィールド)の使い方についてのメモです。※ここからSmart Custom fields → SCF と表記します。

カスタムフィールド作成のプラグインで一番有名なのは、Advanced Custom Fields(ACF)だと思います 。
機能もドキュメントも豊富で、カスタムフィールドならこれを使えば間違いなし、みたいなところもあります。

ACFは無料版と有料版があり、無料ではできことも限られます。そのうちの一つが繰り返しフィールド。

SCFは繰り返しフィールドが無料で使えることがACFに勝るメリット。あと、機能はそんなにいらないというのであればSCFの方がシンプルで使いやすいと思います。

プラグインページ : Smart Custom Fields – WordPress plugin | WordPress.org

基本の出力コード

SCF の取得基本コードはこちら。

SCF::get('field_name');

SCF は大文字でも小文字でもOK。field_name にSCFで設定したフィールド名を入れると、そのフィールドに入力した内容が取得できます。

変数に入れておくと使い回しができて便利です。

$sample = SCF::get('field_name');

// $sampleを出力
echo $sample;

// $sampleを使って条件分岐
if($sample) {
  $sampleがあったら…
} else {
  $sampleがなかったら…
}

テキストエリアで改行を表示する

フィールドタイプ「テキストエリア」にした時、入力時に改行しても、SCF::get('field_name'); だけでは出力の時に改行されません。(半角スペースになる)

改行を表示したい時は nl2br() を使います。

$scf_textarea = SCF::get('textarea');

// 改行されない
echo $scf_textarea;
// 改行される
echo nl2br($scf_textarea);

チェックボックスはforeachを使う

チェックボックスは配列で値を返します。下記のようなコードだと Array としか表示されません。

$scf_checkbox = scf::get('check');
echo $scf_checkbox;

配列の場合、foreachを使って出力します。

$scf_checkbox = scf::get('check');
$n = 0;
foreach($scf_checkbox as $field ){
  echo $scf_checkbox[$n];
  $n++;
}

ラジオボタンやセレクトボックス(選択)は一つしか選択しないものなので、テキスト同様の書き方でOK。

$scf_radio = scf::get('radio');
echo $scf_radio;

$scf_select = scf::get('select');
echo $scf_select;

作成者様のページはこちら → Smart Custom Fields | モンキーレンチ

【カスタムフィールドについて詳しく】
カスタムフィールドとは?WordPressで必要な入力項目を追加する

TOPへ