WordPress REST API получить родительские записи по ID поста

Вопрос или проблема

У меня есть этот URL mysite.com/wp-json/wp/v2/posts. Он возвращает все посты, которые мне нужны, но мне нужен ID родительского поста. Есть ли конечная точка, например, mysite.com/wp-json/wp/v2/parent/{postID} ??

Поскольку посты не могут иметь родителей, нет конечной точки для получения ID родительского поста.

Однако страницы могут иметь родителей, поэтому конечная точка страниц должна возвращать ID родителя, среди прочего. Таким образом, получив mysite.com/wp-json/wp/v2/pages, вы сможете получить атрибут parent, который обозначает “ID родителя объекта”. Если вам нужен только родитель, вы можете использовать _filter в вашем запросе.

Ответ или решение

К сожалению, в WordPress посты не могут иметь родительских постов, так как эта функция доступна только для страниц. Поэтому, как вы заметили, нет отдельного конечного URL, такого как mysite.com/wp-json/wp/v2/parent/{postID}, для получения родительского ID поста.

Тем не менее, если вам нужно получить родительский ID для страницы, вы можете использовать следующий подход:

  1. Используйте конечную точку страниц: Для получения информации о страницах, включая родительский ID, используйте API для страниц WordPress. Запрос может выглядеть так:

    mysite.com/wp-json/wp/v2/pages

    Этот запрос вернет все страницы на вашем сайте, включая информацию о родителе в атрибуте parent. Атрибут parent содержит ID родительской страницы (или 0, если у страницы нет родителя).

  2. Фильтрация по ID страницы: Если вы хотите получить конкретную страницу по ее ID и одновременно узнать о ее родительской странице, используйте следующий запрос:

    mysite.com/wp-json/wp/v2/pages/{pageID}

    Замените {pageID} на ID нужной вам страницы. В ответе вы получите JSON-объект, в котором будет содержаться информация о странице, включая parent.

  3. Фильтрация с помощью параметров: Если вы хотите получить только страницы, у которых есть родитель, вы можете использовать параметр _filter, если ваш сервер поддерживает это. Например:

    mysite.com/wp-json/wp/v2/pages?_filter[pad]=1

Однако, следует учесть, что поддержка фильтров может зависеть от вашей конфигурации API и установленных плагинов.

В итоге, если вам нужно узнать о родителе поста, помните, что эта информация доступна только для страниц. Используйте предложенные выше методы для получения нужных данных о страницах.

Оцените материал
Добавить комментарий

Капча загружается...