无法从自定义帖子类型的帖子中获取ACF

时间:2019-03-24 22:55:02

标签: php wordpress advanced-custom-fields

我有一个称为“ members”的自定义帖子类型,该类型具有连接的ACF字段。我尝试获取该字段的内容。但是当我尝试时,我只会得到常规的post对象。未连接ACF字段。

这是我正在尝试的方法,但是只能得到post对象。

`

"SELECT teams.name AS home_team, teams.name AS away_team"

`

3 个答案:

答案 0 :(得分:0)

尝试在foreach循环内的get_field / the_field调用中传递post id

foreach ($featuredmembers as $post) {
    // the_field('featured', $post->ID);
    echo get_field('featured', $post->ID);
}

如果它是转发器字段,则可以使用:

foreach ($featuredmembers as $post) {
    the_repeater_field('featured', $post->ID);
}

答案 1 :(得分:0)

我认为这可能是使用变量foreach的{​​{1}}循环。这将覆盖页面的主$post变量,并且foreach循环之后的任何$post函数调用都将查找错误的帖子。

尝试将这些变量重命名为get_field以外的其他名称

答案 2 :(得分:0)

您是否尝试过使用WP_Query来访问post_id?

$args = array(
'post_type'   => 'members',
'post_status' => 'publish',
'posts_per_page' => -1,
'order' => 'ASC',
'orderby' => 'title'
);

$query = new WP_Query( $args );

if( $query->have_posts() ) :
  while( $query->have_posts() ) :
    $current_post->the_post();
    $post_id = get_the_ID();
    $featured = esc_html(get_post_meta($post_id, 'featured_member', true));
endwhile;

wp_reset_postdata();

else :
    esc_html_e( 'no members found', 'text-domain' );
endif;