web-dev-qa-db-ja.com

ACF:get_field()がfalseを返す

デフォルト値のtrueでカスタムのtrue/falseフィールドを作成しました。私は異なる投稿を異なる値に設定しました。ただし、get_field()は常にfalseを返します。

<?php if( have_posts() ): while( have_posts() ): the_post(); ?>
            <?php global var_dump(get_field('display_featured_image'));?>
<?php endwhile; endif ?>

表示される出力は次のとおりです。(ブール値)false

私はフィールド名をチェックし、二重チェックしました。値がtrueに設定されている場合、なぜfalseを返すのでしょうか。

4
user3574603

フィールドを取得しようとしている投稿のIDを渡す必要があります。例:

get_field('display_featured_image', $post_id). 

ループでは

get_field('display_featured_image', get_the_id());

ACFフィールドデータをwpのmeta_fieldsに格納するので、WPの組み込みメタハンドラを使用してデータを自分で取得することもできます。例:

get_post_meta( $post_id, 'acf_field_name', true); // Use true for almost every case, as WP will return an array otherwise. 
5
Hybrid Web Dev