Обзор
Отключает вывод JSON-LD для конкретного набора данных.
Описание
Этот фильтр позволяет условно предотвращать вывод JSON-LD в зависимости от данных, которые будут отрендерены. В отличие от acf/schema/enabled_post_types, который управляет выводом на уровне типа записи, этот фильтр срабатывает после обработки данных и позволяет проверить фактические данные JSON-LD, прежде чем решить, выводить их или нет.
Журнал изменений
- Добавлен в версии 6.8.0
Параметры
apply_filters( 'acf/schema/disable_output', $disable, $jsonld_data );
$disable(bool) Отключать ли вывод. Значение по умолчанию:false$jsonld_data(array) Полный массив данных JSON-LD, который будет выведен
Возврат
(bool) Нужно ли отключить вывод JSON-LD для этих данных.
Пример
Этот пример отключает вывод, когда не сопоставлено ни одного пользовательского поля.
/**
* Отключает JSON-LD, если существуют только автоматически сгенерированные данные.
*
* @param bool $disable Нужно ли отключать вывод.
* @param array $jsonld_data Массив данных JSON-LD.
* @return bool Нужно ли отключать вывод.
*/
function my_acf_schema_require_mapped_fields( $disable, $jsonld_data ) {
// Проверяем, есть ли у нас только автоматически сгенерированные свойства
$auto_properties = array( '@context', '@type', 'name', 'url', 'datePublished', 'dateModified', 'author', 'image' );
$custom_properties = array_diff( array_keys( $jsonld_data ), $auto_properties );
if ( empty( $custom_properties ) ) {
return true; // Отключить вывод
}
return $disable;
}
add_filter( 'acf/schema/disable_output', 'my_acf_schema_require_mapped_fields', 10, 2 );
Этот пример отключает вывод для определённых типов схемы.
/**
* Отключает JSON-LD для типа схемы Person.
*
* @param bool $disable Нужно ли отключать вывод.
* @param array $jsonld_data Массив данных JSON-LD.
* @return bool Нужно ли отключать вывод.
*/
function my_acf_schema_disable_person( $disable, $jsonld_data ) {
if ( isset( $jsonld_data['@type'] ) && $jsonld_data['@type'] === 'Person' ) {
return true;
}
return $disable;
}
add_filter( 'acf/schema/disable_output', 'my_acf_schema_disable_person', 10, 2 );
Обновлено: 02.06.2026