Перейти к содержимому Перейти к боковой панели
Обновлено
03.03.2026

Узнайте, как настроить параметры перевода для полей ACF, зарегистрированных в PHP, и автоматически включить их в файлы JSON, создаваемые ACF.

Настройка параметров перевода для полей ACF, зарегистрированных с помощью PHP

Чтобы настроить параметры перевода для полей ACF, зарегистрированных с помощью PHP, необходимо использовать функцию acf_add_local_field_group и добавить wpml_cf_preferences в определение каждого поля.

Существует четыре числовых значения, которые можно использовать для wpml_cf_preferences:

  • 0Не переводить. WPML полностью игнорирует поле.
  • 1Копировать. Значение поля копируется во все языки и остаётся синхронизированным.
  • 2Переводить. Значение поля становится доступным для перевода.
  • 3Копировать один раз. Значение поля копируется во все языки один раз, после чего его можно редактировать в каждом языке независимо.

Не уверены, какой вариант перевода использовать? См. рекомендуемый вариант для каждого поля ACF.

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

acf_add_local_field_group( [
  'key' => 'group_1',
  'title' => 'My Group',
  'fields' => [
  [
  'key' => 'field_1',
  'label' => 'Sub Title',
  'name' => 'sub_title',
  'type' => 'text',
  'prefix' => '',
  'instructions' => '',
  'required' => 0,
  'conditional_logic' => 0,
  'wrapper' => [
  'width' => '',
  'class' => '',
  'id' => '',
  ],
  'default_value' => '',
  'placeholder' => '',
  'prepend' => '',
  'append' => '',
  'maxlength' => '',
  'readonly' => 0,
  'disabled' => 0,
  'wpml_cf_preferences' => 2, // Это поле («Sub Title») будет переведено.
  ],
  ],
  'location' => [
  [
  [
  'param' => 'post_type',
  'operator' => '==',
  'value' => 'post',
  ],
  ],
  ],
  'menu_order' => 0,
  'position' => 'normal',
  'style' => 'default',
  'label_placement' => 'top',
  'instruction_placement' => 'label',
  'hide_on_screen' => '',
] );

Синхронизация ваших полей с WPML

После определения полей с помощью PHP необходимо сообщить о них WPML.

  1. Перейдите на страницу ACFИнструменты.
  2. Прокрутите вниз до раздела Перевести поля ACF Local JSON и зарегистрированные в PHP.
Синхронизация локальных полей ACF с WPML
  1. В разделе Синхронизация настроек перевода для локальных полей выберите, когда должна происходить синхронизация. В большинстве случаев вам потребуется использовать вариант Синхронизировать один раз сейчас, а затем нажать кнопку Применить.

WPML синхронизирует поля, а затем вернётся к параметру без синхронизации. Таким образом, синхронизация обращается к вашей базе данных только один раз и в выбранное вами время.

Настройка параметров перевода для полей ACF в файлах JSON

Если вы используете функцию Local JSON ACF, ACF Multilingual (ACFML) автоматически добавляет настройки перевода для каждого поля в вашем JSON-файле. Это означает, что при экспорте и импорте JSON-файлов между сайтами настройки перевода автоматически применяются на целевом сайте.

Всё, что вам нужно сделать, — это активировать ACFML как на исходном сайте, так и на целевом. После этого каждый раз, когда ACF создаёт файл JSON, он также будет включать ваши параметры перевода.

Если ваши файлы JSON изначально были созданы без активного ACFML, активируйте ACFML, импортируйте файлы JSON в пользовательский интерфейс ACF, настройте параметры перевода и повторно сохраните группы полей. Это повторно создаст файлы JSON с включёнными параметрами.