mirrored from git://develop.git.wordpress.org/
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix flash when clicking on template name when a plugin registered template matches a default WP theme template #7676
Open
Aljullu
wants to merge
8
commits into
WordPress:trunk
Choose a base branch
from
Aljullu:fix/flash-clicking-template-name
base: trunk
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+87
−3
Open
Changes from 4 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
657b0a8
Fix flash when clicking on template name when a plugin registered tem…
Aljullu 1d1af57
Fix duplicate templates between database and theme
Aljullu d32b25e
Make sure the custom templates with no associated post types are avai…
Aljullu 8ab1d7a
Add unit test to make sure plugin-registered template with default po…
Aljullu 1ce805e
Update src/wp-includes/block-template-utils.php
Aljullu 8ef61a6
Use 'elseif' instead of two separate 'if'
Aljullu 0cfab7c
Add an extra comment
Aljullu b5b24ae
Update src/wp-includes/block-template-utils.php
Aljullu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1163,14 +1163,38 @@ function get_block_templates( $query = array(), $template_type = 'wp_template' ) | |
} | ||
|
||
if ( ! isset( $query['wp_id'] ) ) { | ||
$template_files_query = $query; | ||
/* | ||
* If the query has found some user templates, those have priority | ||
* over the theme-provided ones, so we skip querying and building them. | ||
*/ | ||
$query['slug__not_in'] = wp_list_pluck( $query_result, 'slug' ); | ||
$template_files = _get_block_templates_files( $template_type, $query ); | ||
$template_files_query['slug__not_in'] = wp_list_pluck( $query_result, 'slug' ); | ||
/* | ||
* We need to unset the post_type query param because some templates | ||
* would be excluded otherwise, like `page.html` when looking for | ||
* `page` templates. We need all templates so we can exclude duplicates | ||
* from plugin-registered templates. | ||
* See: https://github.com/WordPress/gutenberg/issues/65584 | ||
*/ | ||
unset( $template_files_query['post_type'] ); | ||
$template_files = _get_block_templates_files( $template_type, $template_files_query ); | ||
foreach ( $template_files as $template_file ) { | ||
$query_result[] = _build_block_template_result_from_file( $template_file, $template_type ); | ||
if ( | ||
! isset( $query['post_type'] ) || | ||
( isset( $query['post_type'] ) && isset( $template_file['postTypes'] ) && in_array( $query['post_type'], $template_file['postTypes'], true ) ) | ||
) { | ||
$query_result[] = _build_block_template_result_from_file( $template_file, $template_type ); | ||
} | ||
|
||
// The custom templates with no associated post types are available for all post types. | ||
if ( isset( $query['post_type'] ) && ! isset( $template_file['postTypes'] ) ) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are these changes not needed in GB? They aren't in the original GB PR. |
||
$candidate = _build_block_template_result_from_file( $template_file, $template_type ); | ||
$default_template_types = get_default_block_template_types(); | ||
$is_custom = ! isset( $default_template_types[ $candidate->slug ] ); | ||
if ( $is_custom ) { | ||
Aljullu marked this conversation as resolved.
Show resolved
Hide resolved
|
||
$query_result[] = $candidate; | ||
} | ||
} | ||
} | ||
|
||
if ( 'wp_template' === $template_type ) { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this not important for the
get_block_templates
filter below? Before we were updating the same instance.