unregister_block_pattern_category()
Удаляет ранее зарегистрированную категорию паттернов блоков.
После удаления категория не больше не бдует доступна в списке категорий в редакторе блоков.
Функция полезна, когда нужно скрыть ненужные или конфликтующие категории паттернов, зарегистрированные ядром, темой или плагином, и оставить пользователю только актуальные для темы варианты.
Рекомендую вызывать её на хуке wp_loaded или init (с пониженным приоритетом), чтобы при вызове все категорий уже были зарегистрированны.
Чтобы посмотреть какие категории существуют, используйте:
$all_data = \WP_Block_Pattern_Categories_Registry::get_instance()->get_all_registered(); print_r( $all_data );
Резервную категорию «Uncategorized», удалить таким образом нельзя. Паттерны из удалённой категории автоматически попадают в эту резервную категорию.
Используйте register_block_pattern_category(), когда нужно добавить новую категорию.
Хуков нет.
Возвращает
true|false.
true- категория паттернов успешно удалена из реестра.false- категории с таким именем не существует или удалить её невозможно.
Использование
unregister_block_pattern_category( $category_name );
- $category_name(string) (обязательный)
- Слаг (внутреннее имя) ранее зарегистрированной категории паттернов блоков (включая неймспейс).
Примеры
#1 Удалим дефолтные категории блоков
Удаляем категории паттернов добавленные в ядре или зарегистрированные темой.
/**
* Unregister specific block pattern categories.
*/
add_action( 'wp_loaded', unregister_block_category( ... ) );
function unregister_block_category(): void {
$disable_cats = [
'mytheme/landing' => 'Custom category registered in theme',
'banner' => 'Bold sections designed to showcase key content.',
'buttons' => 'Patterns that contain buttons and call to actions.',
'columns' => 'Multi-column patterns with more complex layouts.',
//'text' => 'Patterns containing mostly text.',
//'query' => 'Display your latest posts in lists, grids or other layouts.',
//'featured' => 'A set of high quality curated patterns.',
'call-to-action' => 'Sections whose purpose is to trigger a specific action.',
'team' => 'A variety of designs to display your team members.',
'testimonials' => 'Share reviews and feedback about your brand/business.',
//'services' => 'Briefly describe what your business does and how you can help.',
'contact' => 'Display your contact information.',
'about' => 'Introduce yourself.',
'portfolio' => 'Showcase your latest work.',
'gallery' => 'Different layouts for displaying images.',
'media' => 'Different layouts containing video or audio.',
'videos' => 'Different layouts containing videos.',
'audio' => 'Different layouts containing audio.',
'posts' => 'Display your latest posts in lists, grids or other layouts.',
'footer' => 'A variety of footer designs displaying information and site navigation.',
'header' => 'A variety of header designs displaying your site title and navigation.',
];
foreach ( array_keys( $disable_cats ) as $cat_name ) {
unregister_block_pattern_category( $cat_name );
}
}
Список изменений
| С версии 5.5.0 | Введена. |
Код unregister_block_pattern_category() unregister block pattern category WP 7.0
function unregister_block_pattern_category( $category_name ) {
return WP_Block_Pattern_Categories_Registry::get_instance()->unregister( $category_name );
}
