WordPressのwhile文を強制的に1回で終わらせる方法

2015/8/3更新

ひさびさにブログを書きます。

最近よくお世話になっているAdvanced Custom Fieldsの有料アドオン「Repeater Field」。ひな形を作ることで、そのひな形を繰り返し使えるカスタムフィールドで、何度も追加できるので、例えば企業サイトでよくあるご質問などを設置するとき、「質問」と「回答」のひな形を繰り返し追加していくことが出来ます。
他にも投稿内のレイアウトを自由にコントロールできる「Flexible Content Field」はオススメです(ちなみにこちらも有料アドオンです)

さて、それで最近あった事例なんですが、この「Repeater Field」は、

と書くんですけど、
今回、このフィールド内にさらにセレクトでカテゴリを作って、カテゴリごとにカスタムフィールドを表示させていたんですけど、それぞれをカテゴリがなかったら「カテゴリ名(タイトル)」を非表示にしたいとの要望がありました。

ただ問題なのが、この「Repeater Field」はただ繰り返し出力(while)することしかできず、「Repeater Field」内のカテゴリを細かく判別することまでできません。

唯一の方法として、

っていう風に必要なカテゴリのみを表示させるしかない。

ただこれだとカテゴリ名を判別して、そのカテゴリ名を一回しか表示させないことなんてできない。
Repeater Fieldはwhile内にしか書けないから(笑)

なので、あまりいい方法ではないのは重々承知の上だが、「カテゴリ名」と「中のフィールド」を別々のwhileで表示させることにした。

で、本題。
カテゴリ名は一回しか表示させる必要がないから強制的にwhileを1回しか行わない方法を書いてみました。

whileは繰り返しに使うもので、それを強制的に1回しか繰り返さないなんて、まったく意味不明なんですけど、もしwhileを1回で終わらせたい場合はお試しください。

ご不明な点があればお気軽にコメントください( ˘ω˘)

タイムチケットやってます!

コメントを残す

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

CAPTCHA


トラックバック:https://recost-design.com/1520.html/trackback