Как получить пост по названию ЧПУ (slug) через REST API?
Это работает для моих страниц, но не для записей. Если я перехожу по адресу example.com/wp-json/wp/v2/pages?slug=page-name
, страница корректно извлекается. Если я перехожу по адресу example.com/wp-json/wp/v2/posts?slug=post-name
, запись таким же образом не извлекается. Может кто-нибудь подсказать, как получить запись по названию ЧПУ (slug)? У записи также есть категория, но я не знаю, необходимо ли это учитывать и как правильно добавить это в запрос. Вся документация, которую я нашел, ссылается на функцию [filter], которая больше не поддерживается.
Вместо жесткого прописывания корня API безопаснее получить его следующим образом:
$api_root = trailingslashit( get_home_url() ) . rest_get_url_prefix();
а затем
Записи: $api_root . '/wp/v2/posts?slug={slug}';
Страницы: $api_root . '/wp/v2/pages?slug={slug}';
Произвольный тип записи: $api_root . '/wp/v2/{post_type}?slug={slug}';
Ссылка
https://developer.wordpress.org/reference/functions/rest_get_url_prefix/
