• Начало
        • Основы API
          • Авторизация
          • Ошибки
          • Состояние API
    • Контент
        • Страницы
          • Страницы
          • Переводы
          • Медиа
        • Рендеринг
          • Фреймы
          • Данные
    • Сайт
        • Конфигурация
          • Настройки сайта
          • Языки
          • Стили
          • SEO
        • Навигация
          • Меню
          • Сайдбар документации
          • Редиректы
    • Платформа
        • Аккаунты и сайты
          • Сайты
          • Пользователи и профиль
        • Автоматизация
          • Кредиты и автоматизация
          • Входящие
          • Кросспостинг
        • Администрирование
          • Администрирование сети
OnPress OnPress
  • Документация
  • Контакты
Войти
Документация API Reference
    • Начало
        • Основы API
          • Авторизация
          • Ошибки
          • Состояние API
    • Контент
        • Страницы
          • Страницы
          • Переводы
          • Медиа
        • Рендеринг
          • Фреймы
          • Данные
    • Сайт
        • Конфигурация
          • Настройки сайта
          • Языки
          • Стили
          • SEO
        • Навигация
          • Меню
          • Сайдбар документации
          • Редиректы
    • Платформа
        • Аккаунты и сайты
          • Сайты
          • Пользователи и профиль
        • Автоматизация
          • Кредиты и автоматизация
          • Входящие
          • Кросспостинг
        • Администрирование
          • Администрирование сети
Конфигурация

Языки

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
Стили
На этой странице
  • GET /languages
    • GET /languages/{lang}
      • POST /languages
        • PATCH /languages/{lang}
          • DELETE /languages/{lang}
            • PUT /languages/default
              • PATCH /languages
              1. Главная
              2. Docs
              3. Документация OnPress v2
              4. Документация OnPress v2
              5. Справочник API
              6. Справочник: языки
              OnPress
              OnPress
              ИП Зуев И.В. ИНН: 360408359441
              info@onpress.pro
              © 2026
              политика конфиденциальности публичная оферта
              • visa
              • mastercard
              • sber
              • tpay