WordPressのカスタムフィールドプラグイン「SCF(Smart Custom Fields)」で作ったフィールドが未入力のとき、ページ側でその項目ごと非表示にする!!!
elseだとうまくいかなくてforeachの後にifにしたらうまくいったよ。
single.phpとか👇
<div class=""> <?php if(!empty(SCF::get('group-01'))){ /*group-01に入力有りのとき*/?> <div class=""> <?php foreach (SCF::get('group-01') as $field) { /*group-01のfield-01が空のとき、*/ if($field["field-01"] === ''){ continue; /*現在のループの残りの処理(class="view"の表示)をスキップし、次のループの処理へ移る*/ } ?> /*field-01に入力有りのとき以下を表示*/ <div class="view">表示させる内容</div> <?php } ?> </div> <?php } ?> </div>
functions.php側の例👇
$ContentSetting->add_group( group-01', true, array( array( 'name' => 'field-01', 'label' => '画像', 'type' => 'image', 'notes' => '(任意のテキスト)', 'instruction' => '', ), ) );
参考サイト様🙇♀️
foreach文においてcontinueで次のループの処理へ移る
http://alphasis.info/2012/06/php-control-foreach-continue/
【徹底解説】Smart Custom Fields 繰り返し機能と出力方法
https://shimamisa.com/smartcustomfields-repeat/