Фильтр block_type_metadata_settings
в WordPress позволяет модифицировать настройки блоков, определенные метаданными. Это открывает возможность для внесения пользовательских изменений в метаданные блоков, которые не обрабатываются по умолчанию.
apply_filters( ‘block_type_metadata_settings’, array $settings, array $metadata )
Описание фильтра block_type_metadata_settings
block_type_metadata_settings
— это фильтр, который дает возможность изменять настройки, определенные метаданными блоков. Он предоставляет два параметра для обратного вызова:
$settings
(array): массив настроек, определенных для регистрации типа блока.$metadata
(array): метаданные, загруженные из файлаblock.json
.
Практический пример изменения версии API блока
Рассмотрим практическую реализацию для увеличения версии API всех блоков на единицу:
function modify_block_api_version( $settings, $metadata ) {
if ( isset( $metadata['apiVersion'] ) ) {
$settings['api_version'] = $metadata['apiVersion'] + 1;
}
return $settings;
}
add_filter( 'block_type_metadata_settings', 'modify_block_api_version', 10, 2 );
Данный код проверяет наличие apiVersion
в метаданных блока и увеличивает его на 1, прежде чем вернуть обновленные настройки.
Настройка пользовательского атрибута блока
Ниже показано, как добавить пользовательский атрибут в настройки блока, который не определен по умолчанию:
function add_custom_attribute( $settings, $metadata ) {
$settings['customAttribute'] = 'customValue';
return $settings;
}
add_filter( 'block_type_metadata_settings', 'add_custom_attribute', 10, 2 );
В этом случае, фильтр добавляет новый атрибут customAttribute
с заданным значением customValue
в настройки блока.
Заключение
Фильтр block_type_metadata_settings
— мощный инструмент для кастомизации блоков в WordPress. Он позволяет изменять настройки блоков, что важно для создания уникальных и интерактивных элементов на ваших сайтах.