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/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です