Руководство по обновлению ACF до версии 4

Обзор

Плагин ACF претерпел серьёзные изменения в версии 4, чтобы соответствовать новым условиям и положениям, установленным WordPress.

Чтобы обновление прошло максимально бесшовно, пожалуйста, прочитайте это руководство перед обновлением.

База данных

В данные, хранящиеся в базе данных, не вносилось никаких изменений. Обновление и откат так же просты, как замена файлов плагина!

Дополнения

Ранее все дополнения разблокировались с помощью кода активации (покупаемого в магазине дополнений ACF). Начиная с v4 все дополнения работают как отдельные плагины, которые нужно загружать, устанавливать и обновлять по отдельности.

Все приобретённые дополнения вы можете найти в своей учётной записи магазина здесь: https://www.advancedcustomfields.com/my-account.

Вы также можете загрузить любые ранее активированные дополнения прямо из плагина ACF. После обновления до v4 вас перенаправят на страницу «Что нового», где вы сможете просмотреть и скачать дополнения v4, которые были активированы ранее.

Пользовательские типы полей

Создавать собственный тип поля ещё никогда не было так просто! К сожалению, типы полей версии 3 несовместимы с версией 4.
Миграция типов полей проста — пожалуйста, ознакомьтесь с этим руководством, чтобы узнать больше.

Вы обнаружите, что некоторые функции были переименованы. Советую начать с пустого файла поля dummy.php и по одной перенести старые функции в новые места для функций.

Действия / фильтры

Многие действия и фильтры изменились. Пожалуйста, см. следующую таблицу, чтобы найти соответствующие изменения.

Действия

Версия 3Версия 4
acf_save_postacf/save_post
acf_head-inputacf/input/admin_head
acf_print_styles-inputacf/input/admin_enqueue_scripts
acf_print_scripts-inputacf/input/admin_enqueue_scripts
acf_head-fieldsacf/field_group/admin_head
acf_print_styles-fieldsacf/field_group/admin_enqueue_scripts
acf_print_scripts-fieldsacf/field_group/admin_enqueue_scripts

Фильтры

Версия 3Версия 4
acf_load_fieldacf/load_field
acf_load_field-{$field_type}acf/load_field/type={$field_type}
acf_load_field-{$field_name}acf/load_field/name={$field_name}
acf_load_field-{$field_key}acf/load_field/key={$field_key}
acf_load_valueacf/load_value
acf_load_value-{$field_type}acf/load_value/type={$field_type}
acf_load_value-{$field_name}acf/load_value/name={$field_name}
acf_load_value-{$field_key}acf/load_value/key={$field_key}
acf_update_valueacf/update_value
acf_update_value-{$field_type}acf/update_value/type={$field_type}
acf_update_value-{$field_name}acf/update_value/name={$field_name}
acf_update_value-{$field_key}acf/update_value/key={$field_key}
acf_settingsacf/options_page/settings
acf_options_page_title[Удалено]
acf_form_pre_save_postacf/pre_save_post

Страница опций

Ранее дополнение Options Page использовало 1 функцию и 2 хука для изменения своих настроек. Вот они:

  • функция: register_options_page()
  • фильтр: acf_options_page_title
  • фильтр: acf_settings

Оба фильтра были удалены, однако функция ‘register_options_page()’ по-прежнему доступна, а новый фильтр ‘acf/options_page/settings’ можно использовать для настройки заголовка, прав доступа и подстраниц.

acf_settings

Этот фильтр был удалён, поскольку больше не нужен для хранения кодов активации или настроек страницы параметров. Если ранее вы использовали этот фильтр для изменения настроек страницы параметров, используйте новый фильтр ‘acf/options_page/settings’.

Функции

Все прежние функции API продолжат работать точно так же. Добавлены 3 новые функции! Вот они:

  • get_field_objects – гибрид get_fields и get_field_object
  • get_sub_field_object – гибрид get_sub_field и get_field_object
  • create_field – создаёт HTML для поля
  • delete_field – удаляет значение поля из базы данных

Обновлено: 01.06.2026