From e2a24cbd74f88ef6bf2547650fd0e58edb84f665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Juh=C3=A9=20Lluveras?= Date: Mon, 19 Aug 2024 13:55:56 +0200 Subject: [PATCH 1/2] Make plugin-registered templates overriden by themes to fall back to plugin-registered title and description --- lib/compat/wordpress-6.7/compat.php | 14 ++++++++++---- .../site-editor/template-registration.spec.js | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/compat/wordpress-6.7/compat.php b/lib/compat/wordpress-6.7/compat.php index edc8e3fa5fb03f..cd533a42cc528e 100644 --- a/lib/compat/wordpress-6.7/compat.php +++ b/lib/compat/wordpress-6.7/compat.php @@ -27,11 +27,15 @@ function _gutenberg_add_block_templates_from_registry( $query_result, $query, $t foreach ( $query_result as $key => $value ) { $registered_template = WP_Block_Templates_Registry::get_instance()->get_by_slug( $query_result[ $key ]->slug ); if ( $registered_template ) { - $query_result[ $key ]->plugin = $registered_template->plugin; - $query_result[ $key ]->origin = + $query_result[ $key ]->plugin = $registered_template->plugin; + $query_result[ $key ]->origin = 'theme' !== $query_result[ $key ]->origin && 'theme' !== $query_result[ $key ]->source ? 'plugin' : $query_result[ $key ]->origin; + $query_result[ $key ]->title = + empty( $query_result[ $key ]->title ) || $query_result[ $key ]->title === $query_result[ $key ]->slug ? + $registered_template->title : $query_result[ $key ]->title; + $query_result[ $key ]->description = empty( $query_result[ $key ]->description ) ? $registered_template->description : $query_result[ $key ]->description; } } @@ -70,11 +74,13 @@ function _gutenberg_add_block_template_plugin_attribute( $block_template ) { if ( $block_template ) { $registered_template = WP_Block_Templates_Registry::get_instance()->get_by_slug( $block_template->slug ); if ( $registered_template ) { - $block_template->plugin = $registered_template->plugin; - $block_template->origin = + $block_template->plugin = $registered_template->plugin; + $block_template->origin = 'theme' !== $block_template->origin && 'theme' !== $block_template->source ? 'plugin' : $block_template->origin; + $block_template->title = empty( $block_template->title ) || $block_template->title === $block_template->slug ? $registered_template->title : $block_template->title; + $block_template->description = empty( $block_template->description ) ? $registered_template->description : $block_template->description; } } diff --git a/test/e2e/specs/site-editor/template-registration.spec.js b/test/e2e/specs/site-editor/template-registration.spec.js index 3927623b2824dc..ba9667358b3142 100644 --- a/test/e2e/specs/site-editor/template-registration.spec.js +++ b/test/e2e/specs/site-editor/template-registration.spec.js @@ -160,6 +160,12 @@ test.describe( 'Block template registration', () => { await expect( page.getByText( 'Custom Template (overridden by the theme)' ) ).toBeHidden(); + // Verify the template description fall backs to the plugin registered description. + await expect( + page.getByText( + 'A custom template registered by a plugin and overridden by a theme.' + ) + ).toBeVisible(); // Verify the theme template shows the theme name as the author. await expect( page.getByText( 'AuthorEmptytheme' ) ).toBeVisible(); } ); From 7aea220667845b5cede4bf9ef7e2e18d8390d699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Juh=C3=A9=20Lluveras?= Date: Mon, 19 Aug 2024 14:19:54 +0200 Subject: [PATCH 2/2] Update backport changelog file --- backport-changelog/6.7/7125.md | 1 + 1 file changed, 1 insertion(+) diff --git a/backport-changelog/6.7/7125.md b/backport-changelog/6.7/7125.md index ce208decd2d145..341e0415cc61a2 100644 --- a/backport-changelog/6.7/7125.md +++ b/backport-changelog/6.7/7125.md @@ -1,3 +1,4 @@ https://github.com/WordPress/wordpress-develop/pull/7125 * https://github.com/WordPress/gutenberg/pull/61577 +* https://github.com/WordPress/gutenberg/pull/64610