Произвольный Тип записи (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!

Метаполя

Обновлять можно только публичные поля, приватные (которые начинаются с _ можно только читать, обновлять или удалять нельзя.

Чтобы работало чтение/обновление метаполей нужно:

my_post_type в маршруте /wp/v2/my_post_type - это параметр rest_base который указывается при регистрации типа записи. По дефолту = ярлык типа записи.