Wordpress用のacfAdvancedCustomFieldsプラグインを使用しています。デフォルトですべてのフィールドグループを出力する汎用テンプレートを使用しています。一部のフィールドは特定のページにのみ表示されるため、どのフィールドを出力する必要があるかを判断したいと思います。私の現在の回避策は次のとおりです。
1、バックエンドにacf-フィールドグループ(たとえば、「マイフィールドグループ」という名前)を作成しました。
2、「マイフィールドグループ」のacf-menuで役割を設定して、たとえば特定のページにのみ表示します(役割はカテゴリなどでもかまいません)
3、チェックボックスと名前を使用してカスタムフィールドを作成しました常に「yes」を返す「MyFieldGroup」内の「mygroup」。
4、次にコードで、カスタムフィールド「mygroup」の値をチェックすることにより、グループ「MyFieldGroup」がページで使用可能かどうかをチェックできます。はいの場合、「マイフィールドグループ」のすべてのフィールドが返されます
コード:
//check if the field group "My Field Group" is available by checking the value of its custom field "mygroup"
<?php if(get_field('mygroup') == "yes") { ?>
<div>
//load all other fields in the field group "My Field Group"
</div>
<?php } ?>
これには、フィールドグループがページで使用可能かどうかを確認するためだけに(それぞれ役割を決定するために)追加のフィールドが必要になるため、それを実現するためのよりエレガントな方法があるかどうか疑問に思いました。
更新: プログラマーからのフィードバックは次のとおりです。
ACFは、投稿に表示された特定のフィールドグループに関する情報を保存せず、フィールド値のみを保存します。
あなたの方法は最小限で、効率的で、賢いものだと思います。私はこれを使い続けます。
乾杯エリオット