Задать вопрос
@BushaevDenis

Почему ID поста равно 0?

Пытаюсь вывести все товары в категории
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        var_dump($post);
    }
}

Получаю такой дамп.
object(WP_Post)#13091 (24) {
  ["ID"]=>
  int(0)
  ["post_author"]=>
  string(1) "1"
  ["post_date"]=>
  string(19) "2018-04-17 08:53:16"
  ["post_date_gmt"]=>
  string(19) "2018-04-17 05:53:16"........

Как id поста вообще может равняться 0?
В админке у этого поста нормальный ID стоит.
Следовательно потом с этим постом я никак не могу работать и получить по нему товар Woocommerce.

А самое интересное то, что у меня на главной такой же почти что цикл, только я получаю посты не из функций, а из кастомных полей, но на выходе точно такой же пост. Но, на главной это работает, а тут нет.
  • Вопрос задан
  • 95 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
  • beONmax
    WordPress – с нуля до Профи
    1 неделя
    Далее
  • beONmax
    Профессия WordPress разработчик
    3 месяца
    Далее
Решения вопроса 1
@BushaevDenis Автор вопроса
Я не заметил, оказывается WC выдал мне не пост, а категорию. Причём вид у него - как у поста, и класс WP_post. Вообще не понимаю как работает иерархия в WC.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kumaxim
@kumaxim
Web-программист
Проверь, стоит ли у тебя wp_reset_postdata() на главной после цикла
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы