Как отключить встроенные блоки WordPress

Click here to view original web page at www.kobzarev.com
Обложка к записи Как отключить встроенные блоки WordPress

Хотя я стараюсь поддерживать все основные блоки в темах, которые я создаю, иногда имеет смысл удалить некоторые из блоков.

Обычно это происходит потому, что я создал пользовательский блок, который похож на основной блок, но при этом отвечает требованиям дизайна и функциональности темы.

Большинство моих тем включают блок «Содержание и изображение», который похож на блок «Медиа и текст», но в нем используется макет сетки темы.

Иногда я отключаю блок «Поиск» и создаю свой собственный, который использует файл searchform.php в теме, обеспечивая соответствие блока «Поиск» дизайну и функциональности формы поиска, используемой везде в теме.

Подключение ассетов в редактор блоков

Вы можете использовать хук enqueue_block_editor_assets для загрузки скриптов и стилей в редактор блоков. В моих темах обычно есть файл editor.js, который я использую для стилей блоков и отключения блоков.

Я также подключаю все пользовательские шрифты, используемые во фронтенде, чтобы использовать их в стилях редактора.

0102030405060708091011121314151617/*** 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 для отключения ненужных блоков.

1234wp.domReady( () => {wp.blocks.unregisterBlockType( 'core/media-text' );wp.blocks.unregisterBlockType( 'core/search' );} );

Источник: How to remove core WordPress blocks.