Skip to content

Query Loop: Don't overwrite the 'query.inherit' attribute value #69698

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

Merged
merged 3 commits into from
Apr 7, 2025

Conversation

Mamaduka
Copy link
Member

@Mamaduka Mamaduka commented Mar 25, 2025

What?

Closes #67252
An alternative solution for #64746 reverts #65067.

PR updates a Query Loop block to display a warning when inherited queries aren't "allowed", instead of forcing this attribute value to false.

Why?

This allows developers to use inherited queries in templates/pages when working with custom rewrites.

Calling setAttributes in life-cycle events should be avoided in 99% of cases unless the block really needs to enforce that attribute value. Introducing more conditions in the setting of the attributes creates more variables and makes these life-cycle events flaky. It doesn't allow changing behavior when the consumer knows what they're doing. Additionally, it can cause excessive re-renders and degrade performance.

Todos

  • Update the variation picker to use query inheritances based on getQueryContextFromTemplate.

Testing Instructions

  1. Insert a Query Loop block inside a single page, post, or CPT.
  2. Confirm that the warning is displayed but still allows using the default query (inherit: true).
  3. Switch query type to Custom.
  4. Confirm that the warning is no longer displayed.
  5. Insert a Query Loop block inside an archive template.
  6. Confirm that the warning isn't displayed.

Testing Instructions for Keyboard

Same.

Screenshots or screencast

CleanShot 2025-04-04 at 15 33 06

@Mamaduka Mamaduka added [Type] Bug An existing feature does not function as intended [Block] Query Loop Affects the Query Loop Block labels Mar 25, 2025
@Mamaduka Mamaduka self-assigned this Mar 25, 2025
Copy link

github-actions bot commented Mar 25, 2025

Size Change: +69 B (0%)

Total Size: 1.85 MB

Filename Size Change
build/block-library/index.min.js 226 kB +69 B (+0.03%)
ℹ️ View Unchanged
Filename Size
build-module/a11y/index.min.js 482 B
build-module/block-library/file/view.min.js 447 B
build-module/block-library/form/view.min.js 533 B
build-module/block-library/image/view.min.js 1.8 kB
build-module/block-library/navigation/view.min.js 1.18 kB
build-module/block-library/query/view.min.js 767 B
build-module/block-library/search/view.min.js 639 B
build-module/interactivity-router/index.min.js 3.03 kB
build-module/interactivity/debug.min.js 17.5 kB
build-module/interactivity/index.min.js 13.9 kB
build/a11y/index.min.js 952 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.4 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.18 kB
build/block-directory/style-rtl.css 1.03 kB
build/block-directory/style.css 1.03 kB
build/block-editor/content-rtl.css 4.42 kB
build/block-editor/content.css 4.41 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-editor/index.min.js 263 kB
build/block-editor/style-rtl.css 15.9 kB
build/block-editor/style.css 15.9 kB
build/block-library/blocks/archives/editor-rtl.css 84 B
build/block-library/blocks/archives/editor.css 83 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 265 B
build/block-library/blocks/button/editor.css 265 B
build/block-library/blocks/button/style-rtl.css 555 B
build/block-library/blocks/button/style.css 555 B
build/block-library/blocks/buttons/editor-rtl.css 291 B
build/block-library/blocks/buttons/editor.css 291 B
build/block-library/blocks/buttons/style-rtl.css 345 B
build/block-library/blocks/buttons/style.css 345 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 139 B
build/block-library/blocks/code/style.css 139 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-author-name/style-rtl.css 72 B
build/block-library/blocks/comment-author-name/style.css 72 B
build/block-library/blocks/comment-content/style-rtl.css 120 B
build/block-library/blocks/comment-content/style.css 120 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-edit-link/style-rtl.css 70 B
build/block-library/blocks/comment-edit-link/style.css 70 B
build/block-library/blocks/comment-reply-link/style-rtl.css 71 B
build/block-library/blocks/comment-reply-link/style.css 71 B
build/block-library/blocks/comment-template/style-rtl.css 191 B
build/block-library/blocks/comment-template/style.css 191 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 238 B
build/block-library/blocks/comments-pagination/editor.css 231 B
build/block-library/blocks/comments-pagination/style-rtl.css 245 B
build/block-library/blocks/comments-pagination/style.css 241 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 842 B
build/block-library/blocks/comments/editor.css 842 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 637 B
build/block-library/blocks/cover/editor-rtl.css 631 B
build/block-library/blocks/cover/editor.css 631 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 331 B
build/block-library/blocks/embed/editor.css 331 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 349 B
build/block-library/blocks/form-input/style.css 349 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/freeform/editor-rtl.css 2.59 kB
build/block-library/blocks/freeform/editor.css 2.59 kB
build/block-library/blocks/gallery/editor-rtl.css 688 B
build/block-library/blocks/gallery/editor.css 691 B
build/block-library/blocks/gallery/style-rtl.css 1.83 kB
build/block-library/blocks/gallery/style.css 1.82 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 334 B
build/block-library/blocks/group/editor.css 334 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 763 B
build/block-library/blocks/image/editor.css 763 B
build/block-library/blocks/image/style-rtl.css 1.6 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 139 B
build/block-library/blocks/latest-posts/editor.css 138 B
build/block-library/blocks/latest-posts/style-rtl.css 520 B
build/block-library/blocks/latest-posts/style.css 520 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 321 B
build/block-library/blocks/media-text/editor.css 320 B
build/block-library/blocks/media-text/style-rtl.css 552 B
build/block-library/blocks/media-text/style.css 550 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 566 B
build/block-library/blocks/navigation-link/editor.css 568 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/editor-rtl.css 2.2 kB
build/block-library/blocks/navigation/editor.css 2.2 kB
build/block-library/blocks/navigation/style-rtl.css 2.24 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 B
build/block-library/blocks/page-list/style-rtl.css 192 B
build/block-library/blocks/page-list/style.css 192 B
build/block-library/blocks/paragraph/editor-rtl.css 251 B
build/block-library/blocks/paragraph/editor.css 251 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author-biography/style-rtl.css 74 B
build/block-library/blocks/post-author-biography/style.css 74 B
build/block-library/blocks/post-author-name/style-rtl.css 69 B
build/block-library/blocks/post-author-name/style.css 69 B
build/block-library/blocks/post-author/editor-rtl.css 107 B
build/block-library/blocks/post-author/editor.css 107 B
build/block-library/blocks/post-author/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 B
build/block-library/blocks/post-comments-count/style-rtl.css 72 B
build/block-library/blocks/post-comments-count/style.css 72 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 537 B
build/block-library/blocks/post-comments-form/style.css 537 B
build/block-library/blocks/post-comments-link/style-rtl.css 71 B
build/block-library/blocks/post-comments-link/style.css 71 B
build/block-library/blocks/post-content/style-rtl.css 61 B
build/block-library/blocks/post-content/style.css 61 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 722 B
build/block-library/blocks/post-featured-image/editor.css 720 B
build/block-library/blocks/post-featured-image/style-rtl.css 347 B
build/block-library/blocks/post-featured-image/style.css 347 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 B
build/block-library/blocks/post-template/style-rtl.css 414 B
build/block-library/blocks/post-template/style.css 414 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 162 B
build/block-library/blocks/post-title/style.css 162 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 358 B
build/block-library/blocks/pullquote/style.css 358 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 154 B
build/block-library/blocks/query-pagination/editor.css 154 B
build/block-library/blocks/query-pagination/style-rtl.css 237 B
build/block-library/blocks/query-pagination/style.css 237 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query-total/style-rtl.css 64 B
build/block-library/blocks/query-total/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 404 B
build/block-library/blocks/query/editor.css 404 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 131 B
build/block-library/blocks/read-more/style.css 131 B
build/block-library/blocks/rss/editor-rtl.css 126 B
build/block-library/blocks/rss/editor.css 126 B
build/block-library/blocks/rss/style-rtl.css 284 B
build/block-library/blocks/rss/style.css 283 B
build/block-library/blocks/search/editor-rtl.css 199 B
build/block-library/blocks/search/editor.css 199 B
build/block-library/blocks/search/style-rtl.css 660 B
build/block-library/blocks/search/style.css 658 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-logo/editor-rtl.css 773 B
build/block-library/blocks/site-logo/editor.css 770 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 85 B
build/block-library/blocks/site-title/editor.css 85 B
build/block-library/blocks/site-title/style-rtl.css 143 B
build/block-library/blocks/site-title/style.css 143 B
build/block-library/blocks/social-link/editor-rtl.css 314 B
build/block-library/blocks/social-link/editor.css 314 B
build/block-library/blocks/social-links/editor-rtl.css 690 B
build/block-library/blocks/social-links/editor.css 688 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.51 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 92 B
build/block-library/blocks/tag-cloud/editor.css 92 B
build/block-library/blocks/tag-cloud/style-rtl.css 248 B
build/block-library/blocks/tag-cloud/style.css 248 B
build/block-library/blocks/template-part/editor-rtl.css 368 B
build/block-library/blocks/template-part/editor.css 368 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 441 B
build/block-library/blocks/video/editor.css 442 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.08 kB
build/block-library/common.css 1.08 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.4 kB
build/block-library/editor.css 11.4 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 15 kB
build/block-library/style.css 15 kB
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.6 kB
build/commands/index.min.js 16.2 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/index.min.js 230 kB
build/components/style-rtl.css 12.5 kB
build/components/style.css 12.5 kB
build/compose/index.min.js 12.8 kB
build/core-commands/index.min.js 3.09 kB
build/core-data/index.min.js 74.3 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.43 kB
build/customize-widgets/style.css 1.43 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.69 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.67 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/index.min.js 13.4 kB
build/edit-post/style-rtl.css 2.74 kB
build/edit-post/style.css 2.73 kB
build/edit-site/index.min.js 222 kB
build/edit-site/posts-rtl.css 7.5 kB
build/edit-site/posts.css 7.5 kB
build/edit-site/style-rtl.css 13.6 kB
build/edit-site/style.css 13.6 kB
build/edit-widgets/index.min.js 17.6 kB
build/edit-widgets/style-rtl.css 4.05 kB
build/edit-widgets/style.css 4.06 kB
build/editor/index.min.js 116 kB
build/editor/style-rtl.css 9.09 kB
build/editor/style.css 9.09 kB
build/element/index.min.js 4.82 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.08 kB
build/format-library/style-rtl.css 474 B
build/format-library/style.css 474 B
build/hooks/index.min.js 1.65 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.13 kB
build/list-reusable-blocks/style-rtl.css 852 B
build/list-reusable-blocks/style.css 852 B
build/media-utils/index.min.js 3.69 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.62 kB
build/nux/style-rtl.css 767 B
build/nux/style.css 763 B
build/patterns/index.min.js 7.37 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.86 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 978 B
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.7 kB
build/reusable-blocks/index.min.js 2.55 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.3 kB
build/router/index.min.js 5.44 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.04 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.93 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 556 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/vips/index.min.js 36.2 kB
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.16 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

] }
>
{ __(
'Cannot inherit the global queries when placed inside the singular content'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: This is just placeholder text for initial testing.

@Mamaduka Mamaduka force-pushed the try/query-loop-singular-content-inheritance-warning branch from 4afd85c to 90be4ab Compare April 1, 2025 10:30
Copy link

github-actions bot commented Apr 1, 2025

Flaky tests detected in 90be4ab.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/14193351177
📝 Reported issues:

@Mamaduka Mamaduka marked this pull request as ready for review April 1, 2025 11:07
@Mamaduka Mamaduka requested review from mikachan and luminuu April 1, 2025 11:08
Copy link

github-actions bot commented Apr 1, 2025

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Unlinked Accounts

The following contributors have not linked their GitHub and WordPress.org accounts: @genemma, @cheestudio.

Contributors, please read how to link your accounts to ensure your work is properly credited in WordPress releases.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Unlinked contributors: genemma, cheestudio.

Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org>
Co-authored-by: luminuu <luminuu@git.wordpress.org>
Co-authored-by: jeflopodev <jeflopodev@git.wordpress.org>
Co-authored-by: carolinan <poena@git.wordpress.org>
Co-authored-by: rinkalpagdar <rinkalpagdar@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Copy link
Member

@fabiankaegy fabiankaegy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically speaking this does work and the code does look good. However I think that this is quite a UX regression... The fact that every time a user inserts a query loop into content (which from my experience happens to many more users than building templates from scratch) they are now presented with an error screen...

CleanShot.2025-04-01.at.13.29.01.mp4

The inverse for when you actually want the inherit usecase is triggered very seldomly. Because when you create a new template file the first thing you get is the ability to copy an existing template. And that already has the query in it.... I know this is anecdotal but I cannot remember when the last time was where I manually needed to insert a query loop that should inherit the global query....

I would love to be able to just change the default value of inherit from true to false... And then maybe enhance the UX for users that are working on a template so that they get a notice / banner / tip bar that informs them that they are on a template where a global query is available asking them if they want to use that one...

@Mamaduka
Copy link
Member Author

Mamaduka commented Apr 1, 2025

Thanks for the feedback, @fabiankaegy!

Are you suggesting that we revert #65067 and add a notice near the "Query type" control? I thought the original problem was people changing this setting and expecting default queries to work.

I'm also thinking of updating the Query Loop placeholder logic so that the inherit default value is correctly derived. This way, newly inserted Query blocks will have the correct inheritance value. Unfortunately, this can't be applied to Patterns added via inserter.

I personally prefer UX, when everything "just works", but that always gets complicated when block attributes are enforced during the page load.

@fabiankaegy
Copy link
Member

@Mamaduka what I am trying to say is that I am very open to which approach gets us there. And I don't know all the intricacies that make it difficult. So again if this is the best we can do with the constraints we have we can totally do this.

For me the current behavior after #65067 was merged is really close to the ideal case from a UX perspective. (not saying that the way it accomplishes it code wise makes sense).

I think what you are suggesting about the block automatically setting it's attribute based on the context where it gets inserted upon insertion makes sense to me. But I think that would build on the work in #65067 🤔

@luminuu
Copy link
Member

luminuu commented Apr 4, 2025

I took the PR for a test and I get the way you implemented it, but I have to agree with @fabiankaegy that this feels more confusing. What I had in mind was something like this:

  • Adding a query loop to the block editor has it on inherit: false by default
  • The inherit setting comes back to the right sidebar
  • When setting it to inherit, a warning message (like the color contrast one) appears telling the user that "this has no effect on a singular page, or you know what you're doing"
  • If inherit: true is set, I'd still like to be able to actually change the query loop contents

With the current setup, the last step is not possible, as even setting inherit: true via code editor will bring back the "error" message.

@Mamaduka
Copy link
Member Author

Mamaduka commented Apr 4, 2025

Thank you, @luminuu!

Adding a query loop to the block editor has it on inherit: false by default.

I would like to avoid touching the block defaults in this PR. I think that's a separate discussion.

With the current setup, the last step is not possible, as even setting inherit: true via code editor will bring back the "error" message.

Great point. I'll adjust the logic accordingly.

@Mamaduka Mamaduka force-pushed the try/query-loop-singular-content-inheritance-warning branch from 90be4ab to 45310be Compare April 4, 2025 11:35
@Mamaduka
Copy link
Member Author

Mamaduka commented Apr 4, 2025

Changed the place where the warning is displayed. See the updated testing instructions and screenshot.

@luminuu
Copy link
Member

luminuu commented Apr 4, 2025

As I was finishing up this comment I saw your recent update @Mamaduka, so I'll post this comment now and going to test your latest update!

Adding a query loop to the block editor has it on inherit: false by default.

I would like to avoid touching the block defaults in this PR. I think that's a separate discussion.

This is the current default in 6.7, so this wouldn't change. In your PR, when adding the Query Loop to a post and selecting a layout, it's set to to inherit: true:

CleanShot.2025-04-04.at.13.00.35.mp4

What I've been pointed out to be a colleague is that with your current setup, it's not possible to create a pattern in the site editor, as the same things happen there too, making it impossible to create a pattern in the site editor with a query loop to be able to reuse it in multiple archive templates:

CleanShot.2025-04-04.at.13.17.22.mp4

Here's a mockup of what I'd like to see, having the Default/Custom toggle back and showing a warning message when selecting "Default" in the block editor:
CleanShot 2025-04-04 at 13 27 45@2x

The wording in the message is random and is open for refinement.

I have put together a small flowchart, so it may be easier for us to discuss this:

CleanShot 2025-04-04 at 13 45 41@2x

@luminuu
Copy link
Member

luminuu commented Apr 4, 2025

@Mamaduka Follow-up for your latest commit, that looks great! I was basically too slow with my last comment 😅

One thing I've been thinking about writing my comment above was if for the Query Type option, the Default and Custom options should be swapped, but I'm aware that this would have effect everywhere. But I think that's out of the scope for this PR.

@Mamaduka
Copy link
Member Author

Mamaduka commented Apr 4, 2025

The default value for inherit is true; this hasn't changed to the control that was introduced almost 5 years ago. See #27128. This is why I'm hesitant to change it; it is hard to anticipate the fallout.

One thing I've been thinking about writing my comment above was if for the Query Type option, the Default and Custom options should be swapped, but I'm aware that this would have effect everywhere.

I'm not 100% sure what you mean here, but I'm happy to discuss it separately.

@luminuu
Copy link
Member

luminuu commented Apr 4, 2025

The default value for inherit is true; this hasn't changed to the control that was introduced almost 5 years ago. See #27128. This is why I'm hesitant to change it; it is hard to anticipate the fallout.

My bad, I was too confused here with what is the "default". I agree that this change could cause more harm than good, so lets leave it as is.

One thing I've been thinking about writing my comment above was if for the Query Type option, the Default and Custom options should be swapped, but I'm aware that this would have effect everywhere.

I'm not 100% sure what you mean here, but I'm happy to discuss it separately.

Right now it looks like this:
CleanShot 2025-04-04 at 15 17 14@2x

What I was thinking about was swapping the position of Custom and Default:
CleanShot 2025-04-04 at 15 20 20@2x

But looking at it, I'm not sure if this would make any difference because it depends on the context where the query loop is inserted to make sense (blog post vs. template).

@Mamaduka
Copy link
Member Author

Mamaduka commented Apr 4, 2025

But looking at it, I'm not sure if this would make any difference because it depends on the context where the query loop is inserted to make sense (blog post vs. template).

100%. It might cause more confusion if we flip labels based on context.

@luminuu, @fabiankaegy, any other blockers here?

But looking at it, I'm not sure if this would make any difference because it depends on the context where the query loop is inserted to make sense (blog post vs. template).

I've this one to-do item listed in the description, but I am thinking of working on it in a separate PR. I'm not sure how it will work out and don't want more blocks on this change.

Copy link
Member

@luminuu luminuu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the PR and it works as expected, no blockers from my side.

Copy link
Member

@fabiankaegy fabiankaegy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blockers from me :)

@Mamaduka
Copy link
Member Author

Mamaduka commented Apr 4, 2025

Thank you both for fantastic feedback 🙇

I'm going to let this PR sit over the weekend and merge on Monday if there are no objections.

@Mamaduka Mamaduka merged commit ef0db72 into trunk Apr 7, 2025
64 checks passed
@Mamaduka Mamaduka deleted the try/query-loop-singular-content-inheritance-warning branch April 7, 2025 06:46
@github-actions github-actions bot added this to the Gutenberg 20.7 milestone Apr 7, 2025
@luminuu luminuu moved this to ❓ Triage in WordPress 6.8.x Editor Tasks May 13, 2025
@luminuu
Copy link
Member

luminuu commented May 13, 2025

@Mamaduka Added this to the 6.8.x Editor Tasks board as I'd like to see this change being included in one of the next updates. It needs the requirement of only editing existing files.

@Mamaduka
Copy link
Member Author

Thanks, @luminuu!

It needs the requirement of only editing existing files.

Do you mean that it meets the requirement?

@Mamaduka Mamaduka added the Backport to WP Minor Release Pull request that needs to be backported to a WordPress minor release label May 14, 2025
@Mamaduka Mamaduka moved this from ❓ Triage to ✅ Done in WordPress 6.8.x Editor Tasks May 14, 2025
@luminuu
Copy link
Member

luminuu commented May 14, 2025

Uhm yeah, that's a bad typo of mine, sorry!

@t-hamano
Copy link
Contributor

I am checking the PRs with the "Backport to WP Minor Release" label applied to clarify which PRs should be backported to the WordPress 6.8.2 release.

As I understand it, this PR is just to show a small hint, so it can be included as a candidate for the 6.8.2 release. What do you think?

@luminuu
Copy link
Member

luminuu commented Jun 18, 2025

Yes, please add this PR to 6.8.2. It would fix an issue on client sites we're having.

t-hamano pushed a commit that referenced this pull request Jun 30, 2025
* Query Loop: Don't overwrite the 'query.inherit' attribute value
* A misc adjustments
* Display warning next to 'Query Type' control

Unlinked contributors: genemma, cheestudio.

Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org>
Co-authored-by: luminuu <luminuu@git.wordpress.org>
Co-authored-by: jeflopodev <jeflopodev@git.wordpress.org>
Co-authored-by: carolinan <poena@git.wordpress.org>
Co-authored-by: rinkalpagdar <rinkalpagdar@git.wordpress.org>
chriszarate pushed a commit to chriszarate/gutenberg that referenced this pull request Jul 1, 2025
…Press#69698)

* Query Loop: Don't overwrite the 'query.inherit' attribute value
* A misc adjustments
* Display warning next to 'Query Type' control

Unlinked contributors: genemma, cheestudio.

Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org>
Co-authored-by: luminuu <luminuu@git.wordpress.org>
Co-authored-by: jeflopodev <jeflopodev@git.wordpress.org>
Co-authored-by: carolinan <poena@git.wordpress.org>
Co-authored-by: rinkalpagdar <rinkalpagdar@git.wordpress.org>
Mamaduka added a commit that referenced this pull request Jul 8, 2025
* Query Loop: Don't overwrite the 'query.inherit' attribute value
* A misc adjustments
* Display warning next to 'Query Type' control

Unlinked contributors: genemma, cheestudio.

Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org>
Co-authored-by: luminuu <luminuu@git.wordpress.org>
Co-authored-by: jeflopodev <jeflopodev@git.wordpress.org>
Co-authored-by: carolinan <poena@git.wordpress.org>
Co-authored-by: rinkalpagdar <rinkalpagdar@git.wordpress.org>
@t-hamano
Copy link
Contributor

t-hamano commented Jul 8, 2025

This PR was cherry-picked into the wp/6.8 branch for the WP 6.8.2 release: #70557

@t-hamano t-hamano removed the Backport to WP Minor Release Pull request that needs to be backported to a WordPress minor release label Jul 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Query Loop Affects the Query Loop Block [Type] Bug An existing feature does not function as intended
Projects
Development

Successfully merging this pull request may close these issues.

"Query Type" missing from Query Loop block; can no longer use it to inherit current query?
4 participants