• Как устроено
  • Быстрый старт
  • Доступ и токен
    • Страницы
      • Frontmatter
      • Синтаксис markdown
      • Переводы страниц
    • Фреймы
      • Вставки onpress/
      • Бинды data-op-bind
      • Сборка и копии
    • Готовые фреймы
      • assistant
      • outline
      • faq
      • article
      • docs
      • site__header
      • site__footer
      • article__faq
      • landing
      • assistant__chat
      • site__404
      • news
      • news__category
      • news__post
      • news__more
      • news__share
      • author__page
      • author__byline
      • author__card
      • author__avatar
      • author__socials
      • author__head
      • home
      • pricing
    • Данные
      • Повторитель onpress/repeat
  • Стили
  • Меню
  • Сайдбар документации
  • Языки сайта
  • Настройки и кэш
  • SEO
  • Медиа
  • Сайты и домены
  • Пользователи и профиль
  • Дашборд и вход
    • Рецепты
      • Сайт с нуля
      • Раздел документации
      • Лендинг
      • FAQ
      • Свой фрейм из готового
      • Многоязычный сайт
      • Поменять меню
      • Перенести страницу
      • Картинки в статье
      • Список из данных
      • Сменить оформление
    • Справочник API
      • Страницы
      • Переводы
      • Фреймы
      • Данные
      • Меню
      • Сайдбар документации
      • Стили
      • Настройки, главная, кэш
      • Языки
      • SEO
      • Медиа
      • Сайты
      • Пользователи и профиль
      • Вход и служебное
    • Ошибки и проблемы
      • Коды ошибок
OnPress OnPress
  • Документация
  • Контакты
Войти
  • Как устроено
  • Быстрый старт
  • Доступ и токен
    • Страницы
      • Frontmatter
      • Синтаксис markdown
      • Переводы страниц
    • Фреймы
      • Вставки onpress/
      • Бинды data-op-bind
      • Сборка и копии
    • Готовые фреймы
      • assistant
      • outline
      • faq
      • article
      • docs
      • site__header
      • site__footer
      • article__faq
      • landing
      • assistant__chat
      • site__404
      • news
      • news__category
      • news__post
      • news__more
      • news__share
      • author__page
      • author__byline
      • author__card
      • author__avatar
      • author__socials
      • author__head
      • home
      • pricing
    • Данные
      • Повторитель onpress/repeat
  • Стили
  • Меню
  • Сайдбар документации
  • Языки сайта
  • Настройки и кэш
  • SEO
  • Медиа
  • Сайты и домены
  • Пользователи и профиль
  • Дашборд и вход
    • Рецепты
      • Сайт с нуля
      • Раздел документации
      • Лендинг
      • FAQ
      • Свой фрейм из готового
      • Многоязычный сайт
      • Поменять меню
      • Перенести страницу
      • Картинки в статье
      • Список из данных
      • Сменить оформление
    • Справочник API
      • Страницы
      • Переводы
      • Фреймы
      • Данные
      • Меню
      • Сайдбар документации
      • Стили
      • Настройки, главная, кэш
      • Языки
      • SEO
      • Медиа
      • Сайты
      • Пользователи и профиль
      • Вход и служебное
    • Ошибки и проблемы
      • Коды ошибок
Справочник API
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Справочник: языки

Ручки сайта: $API/site/$SITE/languages…. Сайт без Polylang отвечает 409 polylang_inactive на любую. Все ручки, кроме GET /languages/{lang}, отвечают полным состоянием — default, settings, languages — и записи несут cache (что сброшено). Подробно — языки сайта.

Поля языка: slug, locale, name, rtl, order, flag, flag_url, is_default, term_id, w3c, url, front_page ({id, url} или null), counts ({posts, terms}).

GET /languages

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/languages"
{
  "success": true,
  "site_id": "x9HTLHECq",
  "default": "en",
  "settings": { "force_lang": 1, "hide_default": true, "redirect_lang": true, "rewrite": true, "browser": false, "media_support": true },
  "languages": [
    { "slug": "en", "locale": "en_US", "name": "English", "rtl": false, "order": 0, "flag": "us", "flag_url": "https://test.onpress.pro/wp-content/plugins/polylang-pro/vendor/wpsyntex/polylang/flags/us.png", "is_default": true, "term_id": 88, "w3c": "en-US", "url": "https://test.onpress.pro/", "front_page": { "id": 5776, "url": "https://test.onpress.pro/" }, "counts": { "posts": 41, "terms": 8 } },
    { "slug": "ru", "locale": "ru_RU", "name": "Русский", "rtl": false, "order": 0, "flag": "ru", "is_default": false, "term_id": 91, "w3c": "ru-RU", "url": "https://test.onpress.pro/ru/", "front_page": { "id": 6037, "url": "https://test.onpress.pro/ru/" }, "counts": { "posts": 37, "terms": 1 } }
  ]
}

GET /languages/{lang}

{ "success": true, "site_id": "x9HTLHECq", "language": { "slug": "ru", "locale": "ru_RU", "name": "Русский", "…": "…" } }

Отказы: 404 language_not_found, 400 invalid_language.

POST /languages

ПолеСмысл
localeобязательно: en_US, ru_RU, ar, zh_CN
slug, name, rtl, flag, orderпереопределить значения Polylang
default_categoryсоздать рубрику для языка (по умолчанию нет)
curl -s -X POST "$API/site/$SITE/languages" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' -d '{"locale": "de_DE"}'
{ "success": true, "site_id": "x9HTLHECq", "changed": true, "language": { "slug": "de", "name": "Deutsch", "url": "https://test.onpress.pro/de/", "front_page": null, "…": "…" }, "default": "en", "settings": { "…": "…" }, "languages": [ "…" ], "cache": { "…": "…" } }

201 — создан, 200 с changed: false — уже был ровно таким. Отказы: 400 locale_required, 400 invalid_locale, 400 locale_unknown, 400 invalid_language, 400 invalid_name, 400 invalid_flag, 400 invalid_order, 400 unknown_field, 409 language_exists (diff), Polylang: 400 pll_* (details).

PATCH /languages/{lang}

Поля slug, locale, name, rtl, flag, order. Ответ: changed, diff (при изменении), полное состояние. Смена слага меняет адреса всех страниц языка. Отказы: 400 nothing_to_change, 404 language_not_found, проверки полей как у POST, 400 pll_invalid_slug, 400 pll_non_unique_slug, 400 pll_invalid_locale, 400 pll_invalid_flag, 400 pll_invalid_name.

DELETE /languages/{lang}

Параметр (строка запроса или тело)Смысл
forceудалить, даже если у языка есть содержимое
curl -s -X DELETE "$API/site/$SITE/languages/de" -H "Authorization: Bearer $OP_TOKEN"
{ "success": true, "site_id": "x9HTLHECq", "changed": true, "deleted": true, "usage": { "posts": 0, "pages": 0, "terms": 0 }, "language": { "slug": "de", "…": "…" }, "default": "en", "settings": { "…": "…" }, "languages": [ "…" ], "cache": { "…": "…" } }

Отказы: 409 language_in_use (usage; снимается force), 409 language_is_default, 409 last_language, 404 language_not_found, 500 language_delete_failed.

PUT /languages/default

ПолеСмысл
langновый язык по умолчанию (синонимы language, slug)

Ответ: changed, was (прежний, при изменении), language, полное состояние. Отказы: 404 language_not_found.

PATCH /languages

Настройки адресов языков: force_lang (1 — каталог, 2 — поддомен, 3 — домен), hide_default, redirect_lang, rewrite, browser, media_support. Применяются начиная с force_lang. Ответ: changed — список записанных ключей, before, settings — перечитанные после записи, полное состояние.

curl -s -X PATCH "$API/site/$SITE/languages" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' -d '{"hide_default": true, "redirect_lang": true}'

Отказы: 400 nothing_to_change, 400 unknown_field, 400 invalid_force_lang.

arrow_backНазад
Справочник: настройки, главная, кэш
Далееarrow_forward
Справочник: SEO
На этой странице
  • GET /languages
    • GET /languages/{lang}
      • POST /languages
        • PATCH /languages/{lang}
          • DELETE /languages/{lang}
            • PUT /languages/default
              • PATCH /languages
              OnPress
              OnPress
              ИП Зуев И.В. ИНН: 360408359441
              © 2026
              политика конфиденциальности публичная оферта
              • visa
              • mastercard
              • sber
              • tpay