Описание block_bindings_source_value
— Filter
Хук block_bindings_source_value позволяет изменять значения источников блоков в редакторе Gutenberg. Он срабатывает при получении данных блоков и позволяет влиять на то, какие данные используются в блоках
Примеры использования
Пример изменения значения источника для блока абзаца:
add_filter('block_bindings_source_value', function($value, $source) {
if ($source === 'core/paragraph') {
return 'Изменённый текст';
}
return $value;
});
В этом примере мы изменяем текст для блока абзаца на ‘Изменённый текст’
Пример изменения значения метаданных для блоков:
add_filter('block_bindings_source_value', function($value, $source) {
if ($source === 'postId') {
return get_post_meta($value, 'custom_meta_key', true);
}
return $value;
});
Здесь мы возвращаем значение пользовательского метаданных для поста вместо стандартного значения
Пример изменения значения для всех блоков с использованием условия:
add_filter('block_bindings_source_value', function($value, $source) {
if (strpos($source, 'core/') === 0) {
return strtoupper($value);
}
return $value;
});
В этом примере мы преобразуем текст всех блоков, начинающихся с ‘core/’, в верхний регистр
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо динамически изменять значения, передаваемые блокам в редакторе Gutenberg
– Производительность
Следует избегать тяжелых вычислений в этом хуке для предотвращения замедления работы редактора
– Предупреждения
Обязательно проверяйте тип значения перед его изменением, чтобы избежать ошибок
Альтернативы
Тип: action
Этот хук позволяет изменять данные перед отображением блока на фронтенде
Используйте его, если нужно изменить вывод блока, а не только его данные в редакторе