【WordPress】Smart Custom Fieldsのチェックの有無で表示/非表示や条件分岐を行う記述方法【プラグイン】

wordpress-writer PHP
この記事は約3分で読めます。

ワードプレスでWebサイトを作るときに、大変お世話になっているプラグインがあります。
そう、「Smart Custom Fields」です。
お問い合わせプラグインで有名な「MW WP Form」の制作者さんが作ったカスタムフィールドをばしばし追加できるプラグインですね。

Smart Custom Fields
Smart Custom Fields is a simple plugin for managing custom fields.

このプラグインで作るカスタムフィールドでチェックボックスがあるのですが、これがなかなか便利なのです。

チェックがあれば項目を表示させる

 <?php
   $scf_check = null;
   $scf_check = get_post_custom($post->ID);
 ?>                
 <?php if($scf_check['ここにSCFで設定したチェックの名前を入れる']): ?> 
   表示させるコンテンツ
 <?php endif; ?>

この記述でチェックが入って入ればif文で囲まれた範囲が表示されます。

どんなときに使うのか?

投稿や固定ページをカスタマイズするときに、共通で簡単に表示させたいコンテンツってありますよね?

  • お問い合わせ先・お問い合わせフォームへのボタン
  • 各種連絡先
  • キャンペーン告知

などなど、だいたい挙げてみました。
この項目を先ほどのifで囲んでおくと管理画面のチェックによって表示・非表示が切り替えられます。

チェックがある時、無い時の条件分岐

ちょっと変えるだけでチェックがある時と無い時で表示を切り替えることもできます。

 <?php
   $scf_check = null;
   $scf_check = get_post_custom($post->ID);
 ?>                
 <?php if($scf_check['ここにSCFで設定したチェックの名前を入れる']): ?> 
   
   チェックがあるときに表示するコンテンツ

<?php else: ?>

  チェックがなくても表示させるコンテンツ(デフォルト)

 <?php endif; ?>

はい。elseを追加するだけですが、チェックがある時と無い時で条件分岐ができます。
チェックが無い状態をデフォルトとしておき、チェックが入ったときに切り替えられるような事ができます。

「Smart Custom Fields」を使うと、記事の投稿をテンプレート化して入力場所を設定したり、使う人に合わせた柔軟なカスタマイズができるので良いです。

コメント

  1. Berghilo より:

    「チェックがあれば項目を表示させる」の empty は不要です。「チェックがなければ項目を表示させる」なら良いですが。

  2. TARP より:

    Berghilo 様
    コメントありがとうございます!
    ご指摘の箇所を修正いたしました。
    精進いたします。

タイトルとURLをコピーしました