Фильтр acf/fields/flexible_content/layout_title

Описание

Используется для изменения HTML $title, который отображается в верхней части каждого макета Flexible Content.

Внутри callback-функции фильтра можно получить значения подполей с помощью функций get_sub_field(), the_sub_field() и get_row(), а затем вывести их в возвращаемой строке.

Этот фильтр также вызывается через AJAX-запрос каждый раз, когда макет раскрывается или сворачивается.

Ниже приведён визуальный пример до/после, показывающий, как этот фильтр может улучшить UX.

История изменений

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

Параметры

apply_filters( 'acf/fields/flexible_content/layout_title', $title, $field, $layout, $i );
  • $title (string) Текст заголовка макета. По умолчанию — название макета.
  • $field (array) Массив поля, содержащий все настройки.
  • $layout (array) Массив макета, содержащий все настройки.
  • $i (int) Индекс макета, начиная с 0.

Модификаторы

Этот фильтр предоставляет модификаторы для нацеливания на конкретные поля. Доступны следующие имена фильтра:
acf/fields/flexible_content/layout_title Применяется ко всем полям.
acf/fields/flexible_content/layout_title/name={$name} Применяется ко всем полям с указанным именем.
acf/fields/flexible_content/layout_title/key={$key} Применяется ко всем полям с указанным ключом.

Пример

Этот пример показывает, как настроить заголовок каждого макета Flexible Content и вывести значения подполей.

functions.php

<?php
add_filter('acf/fields/flexible_content/layout_title/name=my_flex_field', 'my_acf_fields_flexible_content_layout_title', 10, 4);
function my_acf_fields_flexible_content_layout_title( $title, $field, $layout, $i ) {

    // Удалить название макета из заголовка.
    $title = '';

    // Показать изображение миниатюры.
    if( $image = get_sub_field('image') ) {
        $title .= '<div class="thumbnail"><img src="' . esc_url($image['sizes']['thumbnail']) . '" height="36px" /></div>';     
    }

    // загрузить текстовое подполе
    if( $text = get_sub_field('text') ) {
        $title .= '<b>' . esc_html($text) . '</b>';
    }
    return $title;
}

Обновлено: 02.06.2026