Хотя я стараюсь поддерживать все основные блоки в темах, которые я создаю, иногда имеет смысл удалить некоторые из блоков.
Обычно это происходит потому, что я создал пользовательский блок, который похож на основной блок, но при этом отвечает требованиям дизайна и функциональности темы.
Большинство моих тем включают блок «Содержание и изображение», который похож на блок «Медиа и текст», но в нем используется макет сетки темы.
Иногда я отключаю блок «Поиск» и создаю свой собственный, который использует файл searchform.php
в теме, обеспечивая соответствие блока «Поиск» дизайну и функциональности формы поиска, используемой везде в теме.
Подключение ассетов в редактор блоков
Вы можете использовать хук enqueue_block_editor_assets
для загрузки скриптов и стилей в редактор блоков. В моих темах обычно есть файл editor.js
, который я использую для стилей блоков и отключения блоков.
Я также подключаю все пользовательские шрифты, используемые во фронтенде, чтобы использовать их в стилях редактора.
/**
* Gutenberg scripts and styles
*
*/
function be_gutenberg_scripts() {
wp_enqueue_style( 'theme-fonts', be_theme_fonts_url() );
wp_enqueue_script( 'theme-editor', get_template_directory_uri() . '/assets/js/editor.js', array( 'wp-blocks', 'wp-dom' ), filemtime( get_template_directory() . '/assets/js/editor.js' ), true );
}
add_action( 'enqueue_block_editor_assets', 'be_gutenberg_scripts' );
/**
* Theme Fonts URL
*
*/
function be_theme_fonts_url() {
return 'https://fonts.googleapis.com/css2?family=Roboto+Slab&display=swap';
}
Отключение блоков
Теперь, когда вы создали файл editor.js
и подключили его в редактор блоков, вы можете использовать wp.blocks.unregisterBlockType
для отключения ненужных блоков.
wp.domReady( () => {
wp.blocks.unregisterBlockType( 'core/media-text' );
wp.blocks.unregisterBlockType( 'core/search' );
} );
Источник: How to remove core WordPress blocks.
Источник: https://www.kobzarev.com/wordpress/how-to-remove-core-wordpress-blocks/