Я хочу использовать стили кнопок по умолчанию из фреймворка Bootstrap с блоком кнопок по умолчанию Гутенберга.
Я нашел решение удалить стили по умолчанию из WordPress и добавить несколько собственных стилей. Вот ссылка: https://www.billerickson.net/block-styles-in-gutenberg/
Я использую код от Билла Эриксона, чтобы удалить стили по умолчанию и добавить новый. В моем случае стиль .btn-primary
от Bootstrap:
wp.domReady( () => {
wp.blocks.unregisterBlockStyle( 'core/button', 'default' );
wp.blocks.unregisterBlockStyle( 'core/button', 'outline' );
wp.blocks.unregisterBlockStyle( 'core/button', 'squared' );
wp.blocks.registerBlockStyle( 'core/button', {
name: 'btn',
label: 'Default',
isDefault: true,
});
wp.blocks.registerBlockStyle( 'core/button', {
name: 'btn-primary',
label: 'Primary',
} );
} );
Здесь есть две проблемы:
- WordPress неправильно добавляет класс
- Он просто добавляет один класс, но Bootstrap нужно как минимум два
Это код кнопки после добавления класса:
<div class="wp-block-button aligncenter is-style-btn-primary">
<a class="wp-block-button__link" href="#">Button</a>
</div>
Как вы можете видеть, WordPress добавляет новый класс два элемента div вокруг кнопки.
И это добавляет is-style-
к классу.
Для использования блока кнопок со стилями Bootstrap. Мне нужен такой код:
<div class="wp-block-button aligncenter is-style-btn-primary">
<a class="btn btn-primary" href="#">Button</a>
</div>
Класс должен быть внутри тега <a>
, и мне также нужен второй класс .btn
.
Есть ли способ добавить эти два класса в тег <a>
?