acf/prepare_field

Описание

Используется для изменения настроек $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