Область действия API для пользовательских текстов

Используйте случай для синхронизации с переводом — см.

Я хотел бы создать ключ API, который мог бы читать и писать пользовательские тексты, но без возможности выполнять другие действия.

Хотя чтение всех переопределённых строк, вероятно, безвредно, было бы также полезно добавить дополнительные ограничения на запись в зависимости от основного языка — в моём случае это английский. Это позволило бы:

  1. Запретить запись в строки на этом языке.
  2. Разрешить запись в строки на других языках только если строка на основном языке не является стандартной.
  3. Разрешить сброс строк на языках, отличных от основного, к их значениям по умолчанию.

(Третье правило допускает сброс даже в том случае, если строка на основном языке была изменена; это позволит удалять переводы, если это необходимо по какой-либо причине.)

Простое ограничение области доступа только до /admin/customize/site_texts было бы хорошим первым шагом. Однако дальнейшие (настраиваемые) ограничения на запись в site_text[locale] и даже на определённые значения site_text[value] в конечном итоге важны, потому что, если такой ключ будет скомпрометирован или украден, его можно будет использовать для искажения внешнего вида сайта (или вставки очень скрытных спам-ссылок и т. д.).