Как удалить мета-поля с помощью WordPress REST API
Допустим мы регнули метаполе some_metakey
для работы с ним в REST API. Мы умеет обновлять его значение, через POST запрос. Но как удалить это метаполе?
Запросы с методом DELETE по-умолчанию работают только для REST ресурса (объекта поста), а ресурса метаполя в WP REST API нет. Поэтому на данный момент нет возможности удалить значение метаполя с помощью DELETE метода в WordPress REST API.
Так как же быть?
Обновление/добавление метаполей делаются при вставке и обновлении объектов постов, поэтому чтобы "удалить" метаполе, нужно указать пустое значение при обновлении текущего значения. В этом случае WP REST API удаляет метаполе.
Плагин
Нашел на гите маленький плагин, который расширяет возможности REST API и позволяет работать с мета-данными постов, таксономий.
https://github.com/csalzano/wp-api-manipulate-meta
Плагин добавляет новые маршруты:
/wp-json/wp/v2/{post_type}/{post_id}/meta/{meta_key}
/wp-json/wp/v2/{taxonomy}/{term_id}/meta/{meta_key}