Обновить стили формы
const url = 'https://example.com/wp-json/wp2tutor-forms/form/v1/updateStyles';const options = { method: 'POST', headers: {'X-WP-Nonce': '<X-WP-Nonce>', 'Content-Type': 'application/json'}, body: '{"id":42,"token":"a1b2c3d4e5f60718293a4b5c6d7e8f90","styles":"{\"display\":\"inline\",\"autoFocus\":false,\"fullWidth\":false,\"noBranding\":true}"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/wp-json/wp2tutor-forms/form/v1/updateStyles \ --header 'Content-Type: application/json' \ --header 'X-WP-Nonce: <X-WP-Nonce>' \ --data '{ "id": 42, "token": "a1b2c3d4e5f60718293a4b5c6d7e8f90", "styles": "{\"display\":\"inline\",\"autoFocus\":false,\"fullWidth\":false,\"noBranding\":true}" }'Сохраняет стили UI-раннера в post meta styles. Это не definition и не l10n: только JSON-строка стилей Tripetto-раннера.
Обязательны id, token и styles. styles должен быть валидным JSON (json_decode); иначе 400 invalid_json. PHP пишет строку в meta; при чтении get_styles() декодирует объект (пустая meta — []).
token — оптимистическая блокировка; стили входят в md5. Пустой/"0" — 400 empty_token; несовпадение — 400 invalid_token. В ответе новый token.
Нужно право edit_post. Cookie + X-WP-Nonce или Application Password.
Authorizations
Заголовок раздела «Authorizations»Request Bodyrequired
Заголовок раздела «Request Bodyrequired»object
ID записи CPT wp2tutor_form. Обязательно.
Текущий md5-снимок формы. Обязательно. Пустой/"0" — empty_token; несовпадение — invalid_token.
JSON-строка стилей раннера. Обязательно. json_decode с ошибкой — 400 invalid_json. Пишется в meta styles.
Example
{ "id": 42, "token": "a1b2c3d4e5f60718293a4b5c6d7e8f90", "styles": "{\"display\":\"inline\",\"autoFocus\":false,\"fullWidth\":false,\"noBranding\":true}"}Responses
Заголовок раздела «Responses»Стили сохранены. Тело — новый token после записи meta.
object
Новый токен оптимистической блокировки после успешной записи. PHP: md5(definition_json + runner + json(styles) + json(l10n) + json(hooks) + json(trackers) + json(shortcode)). Клиент подставляет его в следующий update*. Не magic-link и не Application Password.
Example
{ "token": "0f5a3c9e1b7d2468ace0f13579bdf246"}Invalid_post_type — запись не CPT wp2tutor_form; invalid_id — то же в args id; invalid_json — styles не JSON; empty_token — token пустой или "0"; invalid_token — token не совпал с md5 снимка; rest_missing_callback_param — нет id, token или styles.
object
Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).
Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).
Обычно { status: HTTP-код } у WP_Error этих контроллеров.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Не аутентифицирован. WordPress REST: rest_not_logged_in / rest_forbidden. Cookie + X-WP-Nonce или Application Password.
object
Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).
Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).
Обычно { status: HTTP-код } у WP_Error этих контроллеров.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Invalid_permissions — нет права edit_post на запись формы. WordPress REST: rest_forbidden / rest_cookie_invalid_nonce.
object
Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).
Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).
Обычно { status: HTTP-код } у WP_Error этих контроллеров.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Post_not_found — нет записи с таким id; entity_not_found — FormPost не нашёл запись в сервисе.
object
Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).
Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).
Обычно { status: HTTP-код } у WP_Error этих контроллеров.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}