Описание
Используется для изменения настроек $field или чтобы не выводить поле в форме.
Этот фильтр похож на acf/load_field, но применяется позже в жизненном цикле, когда поле готовится к выводу. К этому моменту значение поля уже загружено.
История изменений
- Добавлено в версии 5.0.0
Параметры
apply_filters( 'acf/prepare_field', $field );$field(array) Массив поля, содержащий все настройки (включая значение).
Модификаторы
Этот фильтр позволяет использовать модификаторы для выбора конкретных полей. Доступны следующие имена фильтров:
acf/prepare_fieldПрименяется ко всем полям.acf/prepare_field/type={$type}Применяется ко всем полям определённого типа.acf/prepare_field/name={$name}Применяется ко всем полям с определённым именем.acf/prepare_field/key={$key}Применяется ко всем полям с определённым ключом.
Примеры
Изменение поля
Этот пример показывает, как изменить настройки конкретного поля перед его выводом.
functions.php
<?php
function my_acf_prepare_field( $field ) {
// Зафиксировать значение "Example".
if( $field['value'] === 'Example' ) {
$field['readonly'] = true;
};
return $field;
}
// Применить ко всем полям.
// add_filter('acf/prepare_field', 'my_acf_prepare_field');
// Применить к полям select.
// add_filter('acf/prepare_field/type=select', 'my_acf_prepare_field');
// Применить к полям с именем "example_field".
add_filter('acf/prepare_field/name=example_field', 'my_acf_prepare_field');
// Применить к полю с ключом "field_123abcf".
// add_filter('acf/prepare_field/key=field_123abcf', 'my_acf_prepare_field');Предотвращение вывода поля
Этот пример показывает, как предотвратить вывод поля.
functions.php
<?php
function my_acf_prepare_field( $field ) {
// Не показывать это поле, если оно уже содержит значение.
if( $field['value'] ) {
return false;
}
return $field;
}
// Применить к полям с именем "example_field".
add_filter('acf/prepare_field/name=example_field', 'my_acf_prepare_field');Обновлено: 02.06.2026