Gutenberg

27.02.2019

266

Данная статья будет всецело посвящена новому редактору WP — Gutenberg.

По скорости обновления записи этот редактор сделал огромный скачок по сравнению с классическим.

Принудительное включение в WC

По умолчанию Guttenberg для Woocommerce отключен, чтобы включить его — нужно использовать эту функцию:

// Активировать Gutenberg для Woocommerce
function wplook_activate_gutenberg_products($can_edit, $post_type){
	if($post_type == 'product'){
		$can_edit = true;
	}
	
	return $can_edit;
}
add_filter('use_block_editor_for_post_type', 'wplook_activate_gutenberg_products', 10, 2);

Отключить Guttenberg

// disable for posts
add_filter('use_block_editor_for_post', '__return_false', 10);

// disable for post types
add_filter('use_block_editor_for_post_type', '__return_false', 10);

Отключить ненужные блоки

Нужно прописывать в js-файле (my-plugin.js):

wp.domReady( function() {
    wp.blocks.unregisterBlockType( 'core/verse' );
} );

И подключить данный скрипт определенным образом:

function my_plugin_blacklist_blocks() {
    wp_enqueue_script(
        'my-plugin-blacklist-blocks',
        plugins_url( 'my-plugin.js', __FILE__ ),
        array( 'wp-blocks', 'wp-dom-ready', 'wp-edit-post' )
    );
}
add_action( 'enqueue_block_editor_assets', 'my_plugin_blacklist_blocks' );

Если в записях ранее были созданы блокируемые плагином блоки, при редактировании их будет выводится ошибка.

Можно также наоборот указать список блоков которые должны быть доступны, остальные отключаться:

wp.domReady( function() {

	var allowedBlocks = [
		'core/paragraph',
		'core/image',
		'core/html',
		'core/freeform'
	];
	 
	wp.blocks.getBlockTypes().forEach( function( blockType ) {
		if ( allowedBlocks.indexOf( blockType.name ) === -1 ) {
			wp.blocks.unregisterBlockType( blockType.name );
		}
	} );

} );

Решение по данному вопросу (от rudrastyh.com) через функцию php. Данный способ более прост и предпочтителен, т.к. изначально не выводит ненужные блоки, а не скрывает их скриптом. Делаем список разрешенных блоков:

add_filter( 'allowed_block_types', 'misha_allowed_block_types' );
 
function misha_allowed_block_types( $allowed_blocks ) {
 
	return array(
		'core/image',
		'core/paragraph',
		'core/heading',
		'core/list'
	);
 
}

Список блоков Gutenberg

Block TypeОписание
ParagraphАбзац текста
ListСписок (нумерованный/ненумерованный)
ImageИзображение
HeadingЗаголовок (h2, h3, h4, h5, 56)
Quote Цитата
CoverИзображение или видео с наложением текста — отлично подходит для заголовков
GalleryГалерея изображений
AudioАудио файлы
FileСсылка на файл
VideoВидео файлы
ClassicБлок с классическим редактором
PullquoteGive special visual emphasis to a quote from your text
TableТаблица
VerseВставка стихотворения. Используйте специальные форматы интервалов
CodeДемонстрация кода
Custom HTMLHTML код
PreformattedТекст, который учитывает интервалы и вкладки, а также позволяет стилизацию
ColumnsБлок, который отображает контент в нескольких столбцах
ButtonPrompt visitors to take action with a custom button.
Media & Text Установка мультимедиа с подписью
MoreОбрезать часть текста
Page BreakРазделитель текста на следующую страницу
SeparatorГоризонтальный разделитель
SpacerПробел между блоками. Можно настроить высоту
ShortcodeБлок для вставки шорткодов
ArchivesВывод архивов постов по датам
CategoriesВывод категорий
Latest CommentsПоследние комментарии
Latest PostsПоследние записи
EmbedВстраивание видео, изображений, твитов, аудио и другого контента из внешних источников

Переместить стили в подвал

Перемещаем стили Gutenberg из шапки в подвал:

add_action( 'wp_print_styles', 'wps_deregister_styles', 100 );
function wps_deregister_styles() { wp_dequeue_style( 'wp-block-library' ); }

Скроем вовсе стили во всех шаблонах кроме записей (post, page и т.д.):

// Proper connection jquery library
function my_scripts_method() {
	if( !is_singular() ) { wp_deregister_style( 'wp-block-library' ); }
}    
add_action( 'wp_enqueue_scripts', 'my_scripts_method', 1 );

Ошибки при работе с Gutenberg

В странице не отображается опция Родительская страница

Поделится информацией с друзьями

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Gutenberg
Переменный стиль
Рекомендации для васПеременный стильOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.