Intereting Posts
Показать Blogroll другого сайта WordPress Цена Woocommerce, включая налог с форматированием из опций Распечатать текущий номер индекса в цикле Изменение изображения при загрузке Функция автоматической установки отображаемого изображения, которое уже используется Разрешить пользователям моего плагина определять собственный код, а не использовать мой? Использовать страницы для пользовательского типа сообщения Как расширить LINK TO функциональность в НАСТРОЙКАХ ДИСТАНЦИОННОГО ОБСЛУЖИВАНИЯ Могу ли я использовать два разных доменных имени в многопользовательской сети WordPress? Отображение части / ветви дерева меню с помощью wp_nav_menu () Как добавить настраиваемое меню подуровня, указанное в одном каталоге, в меню пользовательского верхнего уровня, указанное в другом каталоге? Удалите wp-mediaelement.css из wp_head Визуальный композитор и дополнительные пользовательские поля Как выбрать категорию продукта при добавлении нового продукта в woocommerce? Как скрыть теги, которые были использованы только один раз?

Использование setup_postdata () с многомерным массивом

Я чувствую, что это будет один из этих ударов по головам, но здесь все равно:

У меня многомерный массив данных:

Array ( [0] => Array ( [id] => 1033 [zip] => 27604 [distance] => 0 ) [1] => Array ( [id] => 1024 [zip] => 27615 [distance] => 6 ) ) 

Поле id в каждом из них – это post ID и то, что я действительно на самом деле. То, что я пробовал, похоже на это:

 foreach( $locations as $post ) { setup_postdata($post['id']); echo get_the_title(); } wp_reset_postdata(); 

без везения. Я setup_postdata() к этому все неправильно – какой лучший способ получить значение setup_postdata() идентификатора для запуска через setup_postdata() ?

Мне все еще нужно ссылаться на другие данные в многомерном массиве ( zip и distance ).

Solutions Collecting From Web of "Использование setup_postdata () с многомерным массивом"

В последнее время здесь был аналогичный (связанный) вопрос . Результатом является то, что get_the_title() использует global $post когда аргумент не передается. И setup_postdata() не устанавливает этот global (ошибка, которую я сделал раньше).

В вашем случае я бы сделал следующее:

 foreach( $locations as $post ) { setup_postdata(get_post($post['id'])); echo get_the_title($post['id']); } wp_reset_postdata(); 

Примечание: setup_postdata() принимает объект post, а не идентификатор, поэтому, если вы собираетесь его использовать, используйте его с get_post() .