Произвольный Тип записи (post_type)
Эти маршруты позволяют получить/создать/обновить/удалить записи или отдельную запись произвольного типа записи.
Любой новый тип записи при регистрации через register_post_type() получает базовый обработчик маршрута WP_REST_Posts_Controller{}. Смотрите параметр rest_controller_class.
Это значит, что при регистрации типа записи, если не установлен параметр rest_controller_class
, у нас автоматически появляется маршруты полностью аналогичные маршрутам работы с постами, только в пути маршрута вместо posts
нужно использовать имя нашего типа записи
:
/wp/v2/my_post_type // работает с записями типа my_post_type /wp/v2/my_post_type/{ID} // работает с записью с ID = {ID}
В остальном, эти маршруты используются точно также, как маршруты постов.
Чтобы маршрут работал при регистрации типа записи нужно указать show_in_rest = true
!
Метаполя
Обновлять можно только публичные поля, приватные (которые начинаются с _
можно только читать, обновлять или удалять нельзя.
Чтобы работало чтение/обновление метаполей нужно:
-
При регистрации типа записи указать:
'supports' => [ ..., 'custom-fields' ]
- Зарегистрировать метаполя через register_post_meta().
my_post_type
в маршруте /wp/v2/my_post_type
- это параметр rest_base
который указывается при регистрации типа записи. По дефолту = ярлык типа записи.