Отключение стилей блоков

В этой ситуации покажу вам реальный пример. Работал над клиентским сайтом и моей задачей было убрать лишние стили у блока «Разделитель», потому что клиенту не нужно было столько.

Хотите лучше прокачаться в Gutenberg? Начните с моего видеокурса по созданию блока.

По умолчанию у этого блока есть три стиля:

Стандартные стили блока Разделитель в Gutenberg
У блока «Разделитель» вы видите три стиля, но нам не была нужна «Широкая линия»

1. Сначала нам нужно определить идентификаторы (названия/ярлыки/id) этих стилей

Это делается довольно легко. Мы можем взять и вывести все стили всех блоков в консоли браузера при помощи этого кода:

wp.domReady(() => {
	// получаем все блоки со стилями и выводим всё в консоли
	wp.blocks.getBlockTypes().forEach((block) => {
		if (_.isArray(block['styles'])) {
			console.log(block.name, _.pluck(block['styles'], 'name'));
		}
	});
});

В итоге получаем:

Все стили блоков в консоли браузера
В консоли браузера нам остаётся только найти нужный нам блок (Разделитель это separator) и открыть массив с его стилями.

2. Отключаем стили блока

Для этого нам нужно будет использовать следующий JavaScript-код:

wp.domReady(() => {
	wp.blocks.unregisterBlockStyle( 'core/separator', 'wide' );
} );

По сути нам нужно указать название блока и название стиля и всё. Стиль отключен. Кстати стиль default не отключается.

В итоге я добавил этот код в файлик в папке с темой unregister-style.js и подключил его хуком enqueue_block_editor_assets.

add_action( 'enqueue_block_editor_assets', 'truemisha_remove_block_style', 25 );
function truemisha_remove_block_style() {
 
	wp_enqueue_script( 
		'remove-block-style', 
		get_stylesheet_directory_uri() . '/unregister-styles.js', 
		array( 'wp-blocks', 'wp-dom-ready', 'wp-edit-post' )
	);
 
}

Всё заработало:

Как отключить ненужные стили у блока Gutenberg

И видео к уроку:

Также рекомендую мой видеокурс по созданию блока в Gutenberg.

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.