Не удается получить ACF из пользовательского типа post post

#php #wordpress #advanced-custom-fields

#php #wordpress #расширенные пользовательские поля

Вопрос:

У меня есть пользовательский тип записи под названием «участники», к которому подключено поле ACF. Я пытаюсь получить содержимое этого поля. Но когда я пытаюсь, я получаю только обычный объект post. Поля ACF не подключены.

Вот что я пытаюсь, но получаю только объект post.

`

 $featuredmembers = get_field('featured_member');
global $post;

//$featuredmembers has a field named "featured". That's the field I want.


$posts = get_posts([
  'post_type' => 'members',
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'order' => 'ASC',
  'orderby' => 'title'
]);


foreach ($featuredmembers as $post) {
  print_r($post['featured']->ID);
  echo get_field('featured');
}
  

`

Ответ №1:

Я думаю, что это может быть связано с foreach циклами, использующими переменную $post . Это переопределит основную $post переменную страницы, и любые get_field вызовы функций после цикла foreach будут просматривать неправильный post.

Попробуйте переименовать эти переменные во что-то другое, чем $post

Ответ №2:

Попробуйте передать post id в вызове get_field / the_field в цикле foreach:

 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. Привет! Я действительно пробовал это, поскольку именно так я обычно это делаю. Но это не сработает. Я ничего не получаю. Это поле повторителя, если это имеет смысл.

2. Вы пробовали the_repeater_field(‘featured’, $post-> ID); ?

3. Да, то же самое. Результата нет.

4. Единственное, с чем я начинаю работать, это получить post. Например: $post['featured'] . Но я не получаю его поля ACF.

5. О, куда вы вызываете get_post? возможно, вы уже находитесь внутри wp_query. Если это так, попробуйте вызвать его после запроса