Фильтр acf/schema/data

Обзор

Отфильтруйте итоговые данные JSON-LD перед выводом.

Описание

Этот фильтр позволяет изменить полный массив структурированных данных JSON-LD перед его рендерингом на странице. Используйте его, чтобы добавлять собственные свойства, изменять существующие значения или условно корректировать вывод в зависимости от записи или контекста блока.

Этот фильтр срабатывает как для вывода JSON-LD на основе записи, так и для вывода на основе блока.

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

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

Параметры

apply_filters( 'acf/schema/data', $data, $object, $type );
  • $data (array) Массив данных JSON-LD, содержащий все сопоставленные свойства
  • $object (WP_Post|array) Объект записи (для записей) или массив блока (для блоков)
  • $type (string|array) Имя типа записи или параметры типа блока

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

(array) Изменённый массив данных JSON-LD.

Пример

В этом примере к всем типам схемы Article добавляется организация-издатель.

/**
 * Добавить издателя в вывод JSON-LD для Article.
 *
 * @param array           $data   Массив данных JSON-LD.
 * @param WP_Post|array   $object Объект записи или блока.
 * @param string|array    $type   Тип записи или тип блока.
 * @return array Изменённые данные JSON-LD.
 */
function my_acf_schema_add_publisher( $data, $object, $type ) {
    // Добавлять издателя только для Article
    if ( isset( $data['@type'] ) && $data['@type'] === 'Article' ) {
        $data['publisher'] = array(
            '@type' => 'Organization',
            'name'  => get_bloginfo( 'name' ),
            'url'   => home_url(),
            'logo'  => array(
                '@type' => 'ImageObject',
                'url'   => get_site_icon_url(),
            ),
        );
    }

    return $data;
}
add_filter( 'acf/schema/data', 'my_acf_schema_add_publisher', 10, 3 );

Обновлено: 02.06.2026