「asset_type」というラベルの付いた選択フィールドに、「image」と「video」という2つの値を設定しました。表示される条件付きロジックに依存する2つのフィールドがあります。選択から "image"が選択された場合は "image_asset"フィールドを表示し、選択から "video"が選択された場合は "video_asset"フィールドを表示します。ドキュメントと他のいくつかのスタックの質問を読んで、私は論理を正しく設定したと思いました、しかし私の人生のために内容を表示させることができません。これが私のコードのようなものです。
<?php if(get_sub_field('asset_type') == "image") { ?>
<div><?php the_sub_field('image_asset'); ?></div>
<?php } ?>
<?php if(get_sub_field('asset_type') == "video") { ?>
<div><?php the_sub_field('video_asset'); ?></div>
<?php } ?>
任意の助けやアドバイスは大歓迎です、ありがとう!
質問を閉じるためだけに:
<?php if(get_sub_field('asset_type') == "Image") { ?>
<div><?php the_sub_field('image_asset'); ?></div>
<?php } ?>
<?php if(get_sub_field('asset_type') == "Video") { ?>
<div><?php the_sub_field('video_asset'); ?></div>
<?php } ?>
ステートメントのラベルの代わりにあなたのselectフィールドのvalue
を使いたいのであれば、ACFでこれを行うことができます。
image : Image
video : Video
そしてこれはあなたのテンプレートの中で(人間が読めるラベルではなく値を使って):
<?php if(get_sub_field('asset_type', '') == "image") { ?>
<div><?php the_sub_field('image_asset'); ?></div>
<?php } ?>
<?php if(get_sub_field('asset_type', '') == "video") { ?>
<div><?php the_sub_field('video_asset'); ?></div>
<?php } ?>
ここでget_sub_field('asset_type')
はget_sub_field('asset_type', '')
に変更されました
これは長いラベルに遭遇したとき非常にきれいなオプションです。
video : First Event Video 1920x1080
コードを書き直すことなく、ユーザーのラベルをすばやく変更することもできます。