Skip to content

Commit

Permalink
Editor: rename reusable blocks to patterns.
Browse files Browse the repository at this point in the history
Renames the Reusable blocks to Patterns and adds an option to convert a block or collection of blocks to a non-synced Pattern.

Props glendaviesnz, ramonopoly, peterwilsoncc, timothyblynjacobs, flixos90.
Fixes #58577.


git-svn-id: https://develop.svn.wordpress.org/trunk@56030 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
tellthemachines committed Jun 26, 2023
1 parent 9d4f4a9 commit b524268
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 23 deletions.
3 changes: 2 additions & 1 deletion src/wp-includes/block-editor.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* Returns the list of default categories for block types.
*
* @since 5.8.0
* @since 6.3.0 Reusable Blocks renamed to Patterns.
*
* @return array[] Array of categories for block types.
*/
Expand Down Expand Up @@ -48,7 +49,7 @@ function get_default_block_categories() {
),
array(
'slug' => 'reusable',
'title' => _x( 'Reusable Blocks', 'block category' ),
'title' => _x( 'Patterns', 'block category' ),
'icon' => null,
),
);
Expand Down
3 changes: 3 additions & 0 deletions src/wp-includes/default-filters.php
Original file line number Diff line number Diff line change
Expand Up @@ -720,4 +720,7 @@
// User preferences.
add_action( 'init', 'wp_register_persisted_preferences_meta' );

// CPT wp_block custom postmeta field.
add_action( 'init', 'wp_create_initial_post_meta' );

unset( $filter, $action );
66 changes: 46 additions & 20 deletions src/wp-includes/post.php
Original file line number Diff line number Diff line change
Expand Up @@ -282,26 +282,26 @@ function create_initial_post_types() {
'wp_block',
array(
'labels' => array(
'name' => _x( 'Reusable blocks', 'post type general name' ),
'singular_name' => _x( 'Reusable block', 'post type singular name' ),
'add_new' => _x( 'Add New', 'Reusable block' ),
'add_new_item' => __( 'Add new Reusable block' ),
'new_item' => __( 'New Reusable block' ),
'edit_item' => __( 'Edit Reusable block' ),
'view_item' => __( 'View Reusable block' ),
'view_items' => __( 'View Reusable blocks' ),
'all_items' => __( 'All Reusable blocks' ),
'search_items' => __( 'Search Reusable blocks' ),
'not_found' => __( 'No reusable blocks found.' ),
'not_found_in_trash' => __( 'No reusable blocks found in Trash.' ),
'filter_items_list' => __( 'Filter reusable blocks list' ),
'items_list_navigation' => __( 'Reusable blocks list navigation' ),
'items_list' => __( 'Reusable blocks list' ),
'item_published' => __( 'Reusable block published.' ),
'item_published_privately' => __( 'Reusable block published privately.' ),
'item_reverted_to_draft' => __( 'Reusable block reverted to draft.' ),
'item_scheduled' => __( 'Reusable block scheduled.' ),
'item_updated' => __( 'Reusable block updated.' ),
'name' => _x( 'Patterns', 'post type general name' ),
'singular_name' => _x( 'Pattern', 'post type singular name' ),
'add_new' => _x( 'Add New', 'Pattern' ),
'add_new_item' => __( 'Add new Pattern' ),
'new_item' => __( 'New Pattern' ),
'edit_item' => __( 'Edit Pattern' ),
'view_item' => __( 'View Pattern' ),
'view_items' => __( 'View Patterns' ),
'all_items' => __( 'All Patterns' ),
'search_items' => __( 'Search Patterns' ),
'not_found' => __( 'No patterns found.' ),
'not_found_in_trash' => __( 'No patterns found in Trash.' ),
'filter_items_list' => __( 'Filter patterns list' ),
'items_list_navigation' => __( 'Patterns list navigation' ),
'items_list' => __( 'Patterns list' ),
'item_published' => __( 'Pattern published.' ),
'item_published_privately' => __( 'Pattern published privately.' ),
'item_reverted_to_draft' => __( 'Pattern reverted to draft.' ),
'item_scheduled' => __( 'Pattern scheduled.' ),
'item_updated' => __( 'Pattern updated.' ),
),
'public' => false,
'_builtin' => true, /* internal use only. don't use this when registering your own post type. */
Expand All @@ -328,6 +328,7 @@ function create_initial_post_types() {
'title',
'editor',
'revisions',
'custom-fields',
),
)
);
Expand Down Expand Up @@ -8018,3 +8019,28 @@ function use_block_editor_for_post_type( $post_type ) {
*/
return apply_filters( 'use_block_editor_for_post_type', true, $post_type );
}

/**
* Registers any additional post meta fields.
*
* @since 6.3.0 Adds sync_status meta field to the wp_block post type so an unsynced option can be added.
*
* @link https://github.com/WordPress/gutenberg/pull/51144
*/
function wp_create_initial_post_meta() {
register_post_meta(
'wp_block',
'sync_status',
array(
'sanitize_callback' => 'sanitize_text_field',
'single' => true,
'type' => 'string',
'show_in_rest' => array(
'schema' => array(
'type' => 'string',
'enum' => array( 'partial', 'unsynced' ),
),
),
)
);
}
2 changes: 1 addition & 1 deletion tests/phpunit/tests/blocks/editor.php
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ public function test_get_default_block_editor_settings() {
),
array(
'slug' => 'reusable',
'title' => 'Reusable Blocks',
'title' => 'Patterns',
'icon' => null,
),
),
Expand Down
20 changes: 19 additions & 1 deletion tests/qunit/fixtures/wp-api-generated.js
Original file line number Diff line number Diff line change
Expand Up @@ -4539,6 +4539,12 @@ mockedApiResponse.Schema = {
},
"required": false
},
"meta": {
"description": "Meta fields.",
"type": "object",
"properties": [],
"required": false
},
"template": {
"description": "The theme file to use to display the post.",
"type": "string",
Expand Down Expand Up @@ -4695,6 +4701,12 @@ mockedApiResponse.Schema = {
},
"required": false
},
"meta": {
"description": "Meta fields.",
"type": "object",
"properties": [],
"required": false
},
"template": {
"description": "The theme file to use to display the post.",
"type": "string",
Expand Down Expand Up @@ -5011,6 +5023,12 @@ mockedApiResponse.Schema = {
},
"required": false
},
"meta": {
"description": "Meta fields.",
"type": "object",
"properties": [],
"required": false
},
"template": {
"description": "The theme file to use to display the post.",
"type": "string",
Expand Down Expand Up @@ -11922,7 +11940,7 @@ mockedApiResponse.TypesCollection = {
"description": "",
"hierarchical": false,
"has_archive": false,
"name": "Reusable blocks",
"name": "Patterns",
"slug": "wp_block",
"icon": null,
"taxonomies": [],
Expand Down

0 comments on commit b524268

Please sign in to comment.