Обзор
Плагин ACF претерпел серьёзные изменения в версии 4, чтобы соответствовать новым условиям и положениям, установленным WordPress.
Чтобы обновление прошло максимально бесшовно, пожалуйста, прочитайте это руководство перед обновлением.
База данных
В данные, хранящиеся в базе данных, не вносилось никаких изменений. Обновление и откат так же просты, как замена файлов плагина!
Дополнения
Ранее все дополнения разблокировались с помощью кода активации (покупаемого в магазине дополнений ACF). Начиная с v4 все дополнения работают как отдельные плагины, которые нужно загружать, устанавливать и обновлять по отдельности.
Все приобретённые дополнения вы можете найти в своей учётной записи магазина здесь: https://www.advancedcustomfields.com/my-account.
Вы также можете загрузить любые ранее активированные дополнения прямо из плагина ACF. После обновления до v4 вас перенаправят на страницу «Что нового», где вы сможете просмотреть и скачать дополнения v4, которые были активированы ранее.
Пользовательские типы полей
Создавать собственный тип поля ещё никогда не было так просто! К сожалению, типы полей версии 3 несовместимы с версией 4.
Миграция типов полей проста — пожалуйста, ознакомьтесь с этим руководством, чтобы узнать больше.
Вы обнаружите, что некоторые функции были переименованы. Советую начать с пустого файла поля dummy.php и по одной перенести старые функции в новые места для функций.
Действия / фильтры
Многие действия и фильтры изменились. Пожалуйста, см. следующую таблицу, чтобы найти соответствующие изменения.
Действия
| Версия 3 | Версия 4 |
|---|---|
| acf_save_post | acf/save_post |
| acf_head-input | acf/input/admin_head |
| acf_print_styles-input | acf/input/admin_enqueue_scripts |
| acf_print_scripts-input | acf/input/admin_enqueue_scripts |
| acf_head-fields | acf/field_group/admin_head |
| acf_print_styles-fields | acf/field_group/admin_enqueue_scripts |
| acf_print_scripts-fields | acf/field_group/admin_enqueue_scripts |
Фильтры
| Версия 3 | Версия 4 |
|---|---|
| acf_load_field | acf/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_value | acf/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_value | acf/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_settings | acf/options_page/settings |
| acf_options_page_title | [Удалено] |
| acf_form_pre_save_post | acf/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