【Custom Field Suite】セレクトの使い方とカスタマイズ

  • Custom Field Suiteの「セレクト」の設定や出力の方法を知りたいな!
  • 出力した値を「カンマ(,)」で区切りたいな…

このような疑問にお答えします!

【Custom Field Suite】セレクトの設定と出力の方法

Custom Field Suiteを使用した「セレクト」の設定から出力までの手順は下記のとおり。

  • 手順①:フィールドタイプで「セレクト」を選択し、任意で「複数選択」などを選ぶ
  • 手順②:表示させたいページに出力させるコードを追加する

手順①:フィールドタイプで「セレクト」を選択し、任意で「複数選択」などを選ぶ

Custom Field Suiteの設定画面より、「新規フィールドを追加」して、フィールドタイプで「セレクト」を選択する。

 

 

1)「ラベル」と「名前」にお好きな名前を入力します。
2)「選択肢」は、一行ごとに項目を入力します。
3)「複数選択」、「Select2」、「バリデーション」、「概要」は任意で設定してください。

 

設定すると下記のとおり。

 

ちなみに、「Select2」の箇所ですが、チェックを入れることでUI(固定ページ(投稿ページ)の編集画面のデザイン)が変わります。

 

■「Render this field with Select2」にチェックを入れない場合

 

■「Render this field with Select2」にチェックを入れた場合

 

「Render this field with Select2」にチェックを入れた場合の方が使いやすいかと。

手順②:表示させたいページに出力させるコードを追加する

出力させるコードは下記のとおり。

<?php $values = CFS()->get('fruits'); ?>
<?php if(is_array($values)): ?>
  <?php foreach($values as $key => $label): ?>
    <?php echo $label; ?>
  <?php endforeach; ?>
<?php endif; ?>

 

「is_array()は、「変数が配列か?配列ではないか?」の条件分岐です。
つまり、固定ページ(投稿ページ)の編集画面で、「選択しているかどうか?」を確認しております。

 

なくても機能しますが、配列がない(空)場合、「Warning: Invalid argument supplied for foreach()」とエラーが表示されます。

 

リスト(ulやol)タグを使用すると下記のとおり。

<?php $values = CFS()->get('fruits'); ?>
<?php if(is_array($values)): ?>
  <ul>
    <?php foreach($values as $key => $label): ?>
      <li><?php echo $label; ?></li>
    <?php endforeach; ?>
  </ul>
<?php endif; ?>

出力した値を「カンマ(,)」で区切る方法

出力した値を「カンマ(,)」で区切るためのコードは下記のとおり。

<?php $values = CFS()->get('fruits'); ?>
<?php if(is_array($values)): ?>
  <?php echo implode(',', $values); ?>
<?php endif; ?>

 

下記のように「カンマ(,)」で区切ることができたかと思います。

 

この辺りに関して詳しく調べたい方は、

連想配列implode関数などのキーワードで検索してみてください。

SNSでもご購読できます。

コメントを残す

前の記事

次の記事