diff --git a/wp-includes/block-patterns.php b/wp-includes/block-patterns.php index fe80dc921c..742db0fc4f 100644 --- a/wp-includes/block-patterns.php +++ b/wp-includes/block-patterns.php @@ -6,27 +6,43 @@ * @since 5.5.0 */ -$core_block_patterns = array( - 'text-two-columns', - 'two-buttons', - 'two-images', - 'text-two-columns-with-images', - 'text-three-columns-buttons', - 'large-header', - 'large-header-paragraph', - 'three-buttons', - 'quote', -); +add_theme_support( 'core-block-patterns' ); -foreach ( $core_block_patterns as $core_block_pattern ) { - register_block_pattern( - 'core/' . $core_block_pattern, - require __DIR__ . '/block-patterns/' . $core_block_pattern . '.php' - ); +/** + * Registers the core block patterns and categories. + * + * @since 5.5.0 + * @private + */ +function _register_core_block_patterns_and_categories() { + $should_register_core_patterns = get_theme_support( 'core-block-patterns' ); + + if ( $should_register_core_patterns ) { + $core_block_patterns = array( + 'text-two-columns', + 'two-buttons', + 'two-images', + 'text-two-columns-with-images', + 'text-three-columns-buttons', + 'large-header', + 'large-header-paragraph', + 'three-buttons', + 'quote', + ); + + foreach ( $core_block_patterns as $core_block_pattern ) { + register_block_pattern( + 'core/' . $core_block_pattern, + require __DIR__ . '/block-patterns/' . $core_block_pattern . '.php' + ); + } + } + + register_block_pattern_category( 'buttons', array( 'label' => _x( 'Buttons', 'Block pattern category', 'gutenberg' ) ) ); + register_block_pattern_category( 'columns', array( 'label' => _x( 'Columns', 'Block pattern category', 'gutenberg' ) ) ); + register_block_pattern_category( 'gallery', array( 'label' => _x( 'Gallery', 'Block pattern category', 'gutenberg' ) ) ); + register_block_pattern_category( 'header', array( 'label' => _x( 'Headers', 'Block pattern category', 'gutenberg' ) ) ); + register_block_pattern_category( 'text', array( 'label' => _x( 'Text', 'Block pattern category', 'gutenberg' ) ) ); } -register_block_pattern_category( 'buttons', array( 'label' => _x( 'Buttons', 'Block pattern category', 'gutenberg' ) ) ); -register_block_pattern_category( 'columns', array( 'label' => _x( 'Columns', 'Block pattern category', 'gutenberg' ) ) ); -register_block_pattern_category( 'gallery', array( 'label' => _x( 'Gallery', 'Block pattern category', 'gutenberg' ) ) ); -register_block_pattern_category( 'header', array( 'label' => _x( 'Headers', 'Block pattern category', 'gutenberg' ) ) ); -register_block_pattern_category( 'text', array( 'label' => _x( 'Text', 'Block pattern category', 'gutenberg' ) ) ); +add_action( 'init', '_register_core_block_patterns_and_categories' ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 60ea83fffc..049149ca9b 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.5-beta2-48491'; +$wp_version = '5.5-beta2-48492'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.