Используйте случай для синхронизации с переводом — см.
Я хотел бы создать ключ API, который мог бы читать и писать пользовательские тексты, но без возможности выполнять другие действия.
Хотя чтение всех переопределённых строк, вероятно, безвредно, было бы также полезно добавить дополнительные ограничения на запись в зависимости от основного языка — в моём случае это английский. Это позволило бы:
- Запретить запись в строки на этом языке.
- Разрешить запись в строки на других языках только если строка на основном языке не является стандартной.
- Разрешить сброс строк на языках, отличных от основного, к их значениям по умолчанию.
(Третье правило допускает сброс даже в том случае, если строка на основном языке была изменена; это позволит удалять переводы, если это необходимо по какой-либо причине.)
Простое ограничение области доступа только до /admin/customize/site_texts было бы хорошим первым шагом. Однако дальнейшие (настраиваемые) ограничения на запись в site_text[locale] и даже на определённые значения site_text[value] в конечном итоге важны, потому что, если такой ключ будет скомпрометирован или украден, его можно будет использовать для искажения внешнего вида сайта (или вставки очень скрытных спам-ссылок и т. д.).