acf/schema/block_field_objects/block_name={block_name}

Обзор

Фильтрует объекты полей для конкретного типа блока.

Описание

Этот фильтр — блок-специфичная версия acf/schema/block_field_objects. Он позволяет изменять объекты полей только для конкретного типа блока, не затрагивая другие блоки.

Динамическая часть имени хука, {block_name}, относится к полному имени блока (например, acf/recipe).

Журнал изменений

  • Добавлено в версии 6.8.0

Параметры

apply_filters( 'acf/schema/block_field_objects/block_name={block_name}', $field_objects, $block, $block_type, $post_id );
  • $field_objects (array|null) Массив объектов полей из предыдущих фильтров
  • $block (array) Массив параметров блока
  • $block_type (array) Настройки зарегистрированного типа блока
  • $post_id (int) ID записи, где отображается блок

Возвращаемое значение

(array|null) Изменённый массив объектов полей.

Пример

Этот пример добавляет данные о питании в блок рецепта.

/**
 * Добавляем схему питания в блок рецепта.
 *
 * @param array|null $field_objects Массив объектов полей.
 * @param array      $block         Параметры блока.
 * @param array      $block_type    Настройки типа блока.
 * @param int        $post_id       ID записи.
 * @return array Изменённые объекты полей.
 */
function my_acf_schema_recipe_nutrition( $field_objects, $block, $block_type, $post_id ) {
    if ( null === $field_objects ) {
        $field_objects = array();
    }

    // Добавляем поля питания с квалифицированными свойствами NutritionInformation
    if ( isset( $block['data']['calories'] ) ) {
        $field_objects['calories'] = array(
            'value'           => $block['data']['calories'] . ' калорий',
            'schema_property' => 'NutritionInformation.calories',
            'type'            => 'text',
        );
    }

    if ( isset( $block['data']['protein'] ) ) {
        $field_objects['protein'] = array(
            'value'           => $block['data']['protein'] . ' г',
            'schema_property' => 'NutritionInformation.proteinContent',
            'type'            => 'text',
        );
    }

    return $field_objects;
}
add_filter( 'acf/schema/block_field_objects/block_name=acf/recipe', 'my_acf_schema_recipe_nutrition', 10, 4 );

Обновлено: 02.06.2026