Skip to content
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

Add Custom Post Types support in Query block #25903

Merged
merged 5 commits into from Oct 8, 2020
Merged

Conversation

ntsekouras
Copy link
Contributor

@ntsekouras ntsekouras commented Oct 7, 2020

Description

Part of: #24934, which is part of #24762.

This PR add Custom Post Types support in Query Block. This is the first step for full support of CPTs and handles some use cases but more work is needed to be fully flexible.

Some notes for this PR:

  1. When we retrieve the post types we check the supported taxonomies for each post type. Since we have support for categories and post tags as a separate filter, we hide/show them taking into account the supported ones. When he have filters for example in tags and change post type to pages, we clear the previous filter.

This needs more investigation for how custom taxonomies are registered and associated with each post type. Testing with WooCommerce for extra post types and taxonomies and taxonomies doesn't give the expected results. In addition there will be changes in the future to support taxonomies in general and not specifically categories and tags, as are now (In follow up PR).

  1. I have placed the post type filter in inspector controls to be close to the hide/show of other coupled filters (categories etc..). This might probably change with the custom taxonomies support and other rest API limitations that exist now.

  2. I have introduced an extra check to exclude the current entity from the results. This needs more testing to also avoid infinite recursive loops.

  3. I have removed Pagination block from default, because most use cases of Query would be to show list of entities in various pages, especially in home page.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@ntsekouras ntsekouras added [Feature] Full Site Editing [Type] Feature New feature to highlight in changelogs. [Block] Query Loop Affects the Query Loop Block labels Oct 7, 2020
@ntsekouras ntsekouras self-assigned this Oct 7, 2020
@github-actions
Copy link

github-actions bot commented Oct 7, 2020

Size Change: +10.9 kB (0%)

Total Size: 1.19 MB

Filename Size Change
build/annotations/index.js 3.54 kB +22 B (0%)
build/block-directory/index.js 8.56 kB +2 B (0%)
build/block-editor/index.js 129 kB +26 B (0%)
build/block-editor/style-rtl.css 11 kB +10 B (0%)
build/block-editor/style.css 11 kB +13 B (0%)
build/block-library/editor-rtl.css 8.65 kB +6 B (0%)
build/block-library/editor.css 8.65 kB +6 B (0%)
build/block-library/index.js 145 kB +9.63 kB (6%) 🔍
build/blocks/index.js 47.5 kB -17 B (0%)
build/components/index.js 169 kB +572 B (0%)
build/components/style-rtl.css 15.5 kB +133 B (0%)
build/components/style.css 15.4 kB +131 B (0%)
build/compose/index.js 9.43 kB +4 B (0%)
build/core-data/index.js 12 kB +11 B (0%)
build/date/index.js 31.9 kB +1 B
build/edit-navigation/index.js 10.6 kB -10 B (0%)
build/edit-post/index.js 306 kB -4 B (0%)
build/edit-site/index.js 21 kB +462 B (2%)
build/edit-site/style-rtl.css 3.73 kB +14 B (0%)
build/edit-site/style.css 3.73 kB +12 B (0%)
build/edit-widgets/index.js 21.2 kB -204 B (0%)
build/edit-widgets/style-rtl.css 3.02 kB +19 B (0%)
build/edit-widgets/style.css 3.02 kB +20 B (0%)
build/editor/index.js 45.4 kB -10 B (0%)
build/element/index.js 4.45 kB +5 B (0%)
build/format-library/index.js 7.49 kB +2 B (0%)
build/list-reusable-blocks/index.js 3.02 kB -3 B (0%)
build/nux/index.js 3.27 kB +1 B
build/plugins/index.js 2.44 kB +1 B
build/redux-routine/index.js 2.85 kB -1 B
build/server-side-render/index.js 2.6 kB +1 B
build/shortcode/index.js 1.7 kB +1 B
build/viewport/index.js 1.74 kB +2 B (0%)
build/warning/index.js 1.14 kB +7 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/api-fetch/index.js 3.35 kB 0 B
build/autop/index.js 2.72 kB 0 B
build/blob/index.js 668 B 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-library/style-rtl.css 7.66 kB 0 B
build/block-library/style.css 7.65 kB 0 B
build/block-library/theme-rtl.css 741 B 0 B
build/block-library/theme.css 741 B 0 B
build/block-serialization-default-parser/index.js 1.78 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/data-controls/index.js 685 B 0 B
build/data/index.js 8.6 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 4.42 kB 0 B
build/edit-navigation/style-rtl.css 868 B 0 B
build/edit-navigation/style.css 871 B 0 B
build/edit-post/style-rtl.css 6.29 kB 0 B
build/edit-post/style.css 6.27 kB 0 B
build/editor/editor-styles-rtl.css 492 B 0 B
build/editor/editor-styles.css 493 B 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.84 kB 0 B
build/escape-html/index.js 734 B 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 1.74 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.54 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.39 kB 0 B
build/keycodes/index.js 1.85 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.12 kB 0 B
build/notices/index.js 1.69 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/primitives/index.js 1.34 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/rich-text/index.js 13 kB 0 B
build/token-list/index.js 1.24 kB 0 B
build/url/index.js 4.06 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

Copy link
Contributor

@mapk mapk 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 from a UX perspective and it appears to be working well. 🎉

  • Added a Post Author block. This block persisted when changing to the Post Type, Page.
  • Switched back to Posts, and added Categories and Tags. Worked well.
  • Switched to Pages and those were removed.
  • Selected an author and that selection also persisted when switching between post types.

query

@ntsekouras ntsekouras marked this pull request as ready for review October 8, 2020 13:52
Copy link
Member

@aristath aristath left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@ntsekouras ntsekouras merged commit c1390e0 into master Oct 8, 2020
@ntsekouras ntsekouras deleted the try/query-cpts branch October 8, 2020 17:24
@github-actions github-actions bot added this to the Gutenberg 9.2 milestone Oct 8, 2020
@mcsf mcsf mentioned this pull request Oct 9, 2020
26 tasks
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] Feature New feature to highlight in changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants