Intereting Posts
Уникальный код последовательного бронирования Загрузите tinyMCE / wp_editor () через AJAX Создание страницы и меню WordPress доступно только для зарегистрированных пользователей, проверка переменных сеанса Каковы преимущества использования wp_enqueue_script () Показать наиболее просматриваемые сообщения за последние 30 дней работает неправильно не может хорошо понять функцию Если хакер заглянул во все php-файл, может ли он навредить мне? Отображать custom_background вне wp_head () двадцатьнадцать h1 и h2 не изменяют размерность Как добавить имя категории в идентификатор категории в поле формы Ввод содержимого в header.php без использования wp_head Лучшая практика по внедрению кода на WordPress? WordPress на localhost по-прежнему указывает на живой сайт $ wp_query-> current_post перезапускается с нуля на постраничных страницах Удалить опции из всех блогов на удалении плагина из сети / мультисайта

Получить поля ACF в отношениях возвращенного сообщения

Я знаю, чтобы получить поля ACF в сообщении, но я не могу получить отношения в этих результатах, чтобы возвращать поля ACF.

пример:

$args = array( 'post_type' => 'location', 'post__in' => array(67) ); $q = new WP_Query($args); $locations = array(); while($q->have_posts()) : $q->the_post(); $p = get_post(); // gets the basic post details $f = get_fields(); // gets the ACF details $m = array_merge((array)$p, (array)$f); // merges all details into one array array_push($locations, $m); endwhile; 

который показывает что-то вроде

 Array ( [0] => Array ( [ID] => 67 [ACF_Field => This is a custom field/value. ... [ACF_Relationship_Field] => Array ( [0] => WP_Post Object ( [ID] => 133 // there should be another [ACF_Fiel]/value here ... ) ) ) ) 

Таким образом, первый уровень массива имеет значения ACF в нем, но вы можете видеть, что второго уровня нет. Я посмотрел на ссылку ACF, так как это помогло мне дойти до этой точки, но, к сожалению, я не нашел ничего, что могло бы привести к отношениям с прикрепленными полями ACF.

Solutions Collecting From Web of "Получить поля ACF в отношениях возвращенного сообщения"

Вам нужно зацикливать результаты и снова вызвать get_fields (). Итак, после вашего кода добавьте smt like:

 foreach( $locations as $l ) { //grab post id $pid = $l['ACF_Relationship_Field'][0]->ID; // grab fields $fields = get_fields($pid); // add them back. As ACF_Relationship_Field is an object I will add it next // to it, but you can do whatever you prefer $l['ACF_Relationship_Field'][] = $fields; }