Убирать регистрацию стилей из блок.json и вручную проверять?
Именно так, к сожалению, до сих пор эта задача на плечах юзеров.
В том году я написал
свое решение для этих целей со всей необходимой логикой (включая подгрузку ассетов в зависимости от настроек блока), мой подход использует parse_blocks для проверки блока в контенте поста/страницы. Вот краткий пример:
add_action('wp_enqueue_scripts', function (): void {
global $post;
$content = $post->post_content;
$blocks = parse_blocks($content);
foreach ($blocks as $block) {
if ('Your block name' === $block['blockName']) {
// enqueue
}
}
});
Если интересно покопаться в коде, то здесь
https://github.com/yarovikov/gutengood/blob/master...