使用 WP_Query 检索 ACF 字段值

问题描述 投票:0回答:1

有人可以分享 PHP 代码来使用 WP_Query 检索 ACF 字段值吗?以下内容检索字段值,但我想使用 WP_Query 来完成此操作,以便它可以用作元查询:

<?php $field = get_field_object('field_64fa6f6063934'); ?> <?php echo $field['value']; ?>

我也尝试过

<?php $field = get_field_object('field_64fd4d406393c'); echo $field['value']; ?>

谢谢你

wordpress advanced-custom-fields
1个回答
0
投票

要使用 WP_Query 检索 ACF 字段值,您可以使用

meta_query
函数中的
WP_Query
参数。下面是一个示例代码片段,它使用字段键
field_64fa6f6063934
检索 ACF 字段的值:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'field_64fa6f6063934',
            'compare' => 'EXISTS',
        ),
    ),
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        $field_value = get_field( 'field_64fa6f6063934' );
        // Do something with the field value
    }
    wp_reset_postdata();
}

在此示例中,我们正在查询类型为

post
的帖子,其 ACF 字段的值带有键
field_64fa6f6063934
compare
参数设置为
EXISTS
以确保我们仅检索具有该字段值的帖子。

在循环内,我们使用

get_field()
函数来检索当前帖子的字段值。您可以将
field_64fa6f6063934
替换为您要检索的 ACF 字段的键。

注意,循环后需要调用

wp_reset_postdata()
将全局post数据恢复到原始状态。

© www.soinside.com 2019 - 2024. All rights reserved.