Block Editor: Add theme support flag to opt-out of Core Block Patterns.

WordPress Core comes by default with a number of block patterns and a frequent request was to be able to opt-out of the Core block patterns. 
You can now opt-out using remove_theme_support( 'core-block-patterns' )

Props desrosj, nosolosw.
Fixes #50669.


git-svn-id: https://develop.svn.wordpress.org/trunk@48492 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Riad Benguella 2020-07-16 11:48:49 +00:00
parent b001723394
commit bd63261888

View File

@ -6,27 +6,43 @@
* @since 5.5.0 * @since 5.5.0
*/ */
$core_block_patterns = array( add_theme_support( 'core-block-patterns' );
'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( * Registers the core block patterns and categories.
'core/' . $core_block_pattern, *
require __DIR__ . '/block-patterns/' . $core_block_pattern . '.php' * @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' ) ) ); add_action( 'init', '_register_core_block_patterns_and_categories' );
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' ) ) );