Задать вопрос
@rvitalia

Как правильно подключать гутенберг блоки?

Есть ряд блоков гутенберг, созданных через create-block.
Подключение - через block.json
Заметил, что теперь все стили всех блоков грузятся абсолютно на всех страницах сайта.
Как можно исправить ситуацию?
Убирать регистрацию стилей из блок.json и вручную проверять?
Может есть какие-то опробованные и более гуманные варианты?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarovikov
@yarovikov
Убирать регистрацию стилей из блок.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...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы