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

[Edit Post]: Hide Template part in post editor #36810

Closed
wants to merge 11 commits into from

Conversation

ntsekouras
Copy link
Contributor

@ntsekouras ntsekouras commented Nov 24, 2021

Resolves: #30668

This PR takes an approach of introducing a new __experimentalDisallowedBlocks property which is used in Post Content block, in combination of hiding the Template Part block when we are not in template mode in post editor.

We need both because in post editor the post content is not rendered as a single Post Content block.

By not unregistering the block the existing content can work as before without disruptions.

Testing instructions

  1. Go to a post/page and try to find through the inserter the Template Part
  2. Observe that you can't
  3. Edit the post/page template and observe that the block is available only outside the Post Content block
  4. Exit the template editing and observe that it's again unavailable in post editor
  5. Observe that existing Template Parts in a post/page work properly as before

Notes

I'll update the tests if the approach is deemed okay.

@ntsekouras ntsekouras added [Feature] Inserter The main way to insert blocks using the + button in the editing interface [Package] Edit Post /packages/edit-post Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta [Block] Template Part Affects the Template Parts Block labels Nov 24, 2021
@ntsekouras ntsekouras requested review from mcsf, youknowriad, mtias, gziolo and a team November 24, 2021 09:32
@ntsekouras ntsekouras self-assigned this Nov 24, 2021
@github-actions
Copy link

github-actions bot commented Nov 24, 2021

Size Change: +258 B (0%)

Total Size: 1.1 MB

Filename Size Change
build/block-editor/index.min.js 139 kB +68 B (0%)
build/block-library/index.min.js 162 kB +95 B (0%)
build/components/index.min.js 214 kB +50 B (0%)
build/components/style-rtl.css 15.3 kB +16 B (0%)
build/components/style.css 15.3 kB +16 B (0%)
build/edit-post/index.min.js 29.6 kB +13 B (0%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 960 B
build/admin-manifest/index.min.js 1.1 kB
build/annotations/index.min.js 2.75 kB
build/api-fetch/index.min.js 2.21 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.28 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/style-rtl.css 14.4 kB
build/block-editor/style.css 14.4 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 470 B
build/block-library/blocks/button/editor.css 470 B
build/block-library/blocks/button/style-rtl.css 560 B
build/block-library/blocks/button/style.css 560 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 275 B
build/block-library/blocks/buttons/style.css 275 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 134 B
build/block-library/blocks/code/theme.css 134 B
build/block-library/blocks/columns/editor-rtl.css 206 B
build/block-library/blocks/columns/editor.css 205 B
build/block-library/blocks/columns/style-rtl.css 503 B
build/block-library/blocks/columns/style.css 502 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.22 kB
build/block-library/blocks/cover/style.css 1.22 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 976 B
build/block-library/blocks/gallery/editor.css 980 B
build/block-library/blocks/gallery/style-rtl.css 1.62 kB
build/block-library/blocks/gallery/style.css 1.62 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/html/editor-rtl.css 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 731 B
build/block-library/blocks/image/editor.css 730 B
build/block-library/blocks/image/style-rtl.css 507 B
build/block-library/blocks/image/style.css 511 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 649 B
build/block-library/blocks/navigation-link/editor.css 650 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 299 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/view.min.js 343 B
build/block-library/blocks/navigation/editor-rtl.css 1.89 kB
build/block-library/blocks/navigation/editor.css 1.89 kB
build/block-library/blocks/navigation/style-rtl.css 1.66 kB
build/block-library/blocks/navigation/style.css 1.65 kB
build/block-library/blocks/navigation/view.min.js 2.74 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 172 B
build/block-library/blocks/page-list/style.css 172 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 273 B
build/block-library/blocks/paragraph/style.css 273 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/style-rtl.css 444 B
build/block-library/blocks/post-comments-form/style.css 444 B
build/block-library/blocks/post-comments/style-rtl.css 492 B
build/block-library/blocks/post-comments/style.css 493 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 721 B
build/block-library/blocks/post-featured-image/editor.css 721 B
build/block-library/blocks/post-featured-image/style-rtl.css 153 B
build/block-library/blocks/post-featured-image/style.css 153 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 391 B
build/block-library/blocks/post-template/style.css 392 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 80 B
build/block-library/blocks/post-title/style.css 80 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 378 B
build/block-library/blocks/pullquote/style.css 378 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 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 262 B
build/block-library/blocks/query-pagination/editor.css 255 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 223 B
build/block-library/blocks/quote/theme.css 226 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 397 B
build/block-library/blocks/search/style.css 398 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 245 B
build/block-library/blocks/separator/style.css 245 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 772 B
build/block-library/blocks/site-logo/editor.css 772 B
build/block-library/blocks/site-logo/style-rtl.css 165 B
build/block-library/blocks/site-logo/style.css 165 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 177 B
build/block-library/blocks/social-link/editor.css 177 B
build/block-library/blocks/social-links/editor-rtl.css 670 B
build/block-library/blocks/social-links/editor.css 669 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB
build/block-library/blocks/social-links/style.css 1.32 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 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/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/editor-rtl.css 560 B
build/block-library/blocks/template-part/editor.css 559 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 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 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 569 B
build/block-library/blocks/video/editor.css 570 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 815 B
build/block-library/common.css 812 B
build/block-library/editor-rtl.css 9.81 kB
build/block-library/editor.css 9.81 kB
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/style-rtl.css 10.5 kB
build/block-library/style.css 10.5 kB
build/block-library/theme-rtl.css 672 B
build/block-library/theme.css 677 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 46.3 kB
build/compose/index.min.js 10.9 kB
build/core-data/index.min.js 13.2 kB
build/customize-widgets/index.min.js 11.4 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 631 B
build/data/index.min.js 7.47 kB
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 485 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.5 kB
build/edit-navigation/index.min.js 16 kB
build/edit-navigation/style-rtl.css 3.76 kB
build/edit-navigation/style.css 3.76 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/style-rtl.css 7.1 kB
build/edit-post/style.css 7.09 kB
build/edit-site/index.min.js 32.1 kB
build/edit-site/style-rtl.css 6.35 kB
build/edit-site/style.css 6.34 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.18 kB
build/edit-widgets/style.css 4.18 kB
build/editor/index.min.js 37.8 kB
build/editor/style-rtl.css 3.78 kB
build/editor/style.css 3.77 kB
build/element/index.min.js 3.29 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 6.57 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.63 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.71 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.8 kB
build/keycodes/index.min.js 1.39 kB
build/list-reusable-blocks/index.min.js 1.86 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.92 kB
build/notices/index.min.js 925 B
build/nux/index.min.js 2.08 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.84 kB
build/primitives/index.min.js 924 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.65 kB
build/reusable-blocks/index.min.js 2.22 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11 kB
build/server-side-render/index.min.js 1.57 kB
build/shortcode/index.min.js 1.49 kB
build/token-list/index.min.js 639 B
build/url/index.min.js 1.9 kB
build/viewport/index.min.js 1.05 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.15 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@gziolo
Copy link
Member

gziolo commented Nov 24, 2021

It works so I guess it's fine to proceed for now. However in the long run we need a general API that removes the block from the inserter when you are in a given context – in this case that would be inside the Post Content block. There is also a related issue filed for further restricting inserting blocks to a given template types: #30679.

@youknowriad
Copy link
Contributor

I'm not sure the current PR hides the block when you're inside "post-content" block in the site editor.
Also template-part should be visible in "template mode" in the post editor outside post content block.

@carolinan
Copy link
Contributor

I can confirm that

  • template parts can still be added in the post content block in the site editor
  • template parts can still be added in the post content block in the template editor

✔️ template parts can still be added outside the post content block in the template editor

What is the expected result if a block pattern includes a template part block?

@carolinan
Copy link
Contributor

carolinan commented Nov 24, 2021

Did a quick test, in the block editor, the block pattern with template part inside is not available in the inserter.

@ntsekouras
Copy link
Contributor Author

This PR hides the Template Part in post editor in general and not in Post Content block specifically.

Also template-part should be visible in "template mode" in the post editor outside post content block.

You mean only outside the Post Content block? If yes I guess in my mind this would require an disallowedBlocks kind of prop in blocks API approach and not this one.

However in the long run we need a general API that removes the block from the inserter when you are in a given context

Agreed.

@youknowriad
Copy link
Contributor

The post editor is basically the same thing as the post content block, because the content that is there is also the same content that is show in the post content block in the site editor or template editor. So my expectation is that if I'm not able to use the template part in the post editor, I shouldn't be able to use inside the post content block either.

@ntsekouras
Copy link
Contributor Author

I tried a different approach with a new __experimentalDisallowedBlocks property in combination of hiding the Template Part block when we are not in template mode in post editor.

@ntsekouras ntsekouras force-pushed the hide/template-part-in-post-editor branch from 3b01241 to 9d68fa6 Compare November 25, 2021 08:27
Copy link
Contributor

@youknowriad youknowriad left a comment

Choose a reason for hiding this comment

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

I'd appreciate more testing but I think the behavior now is the correct one.

@jameskoster
Copy link
Contributor

I am unable to insert a template part in the post editor ✅

However I am able to insert a template part inside the Post Content block in the Site Editor, when my homepage is configured to display a static page:

Screenshot 2021-11-25 at 11 56 20

On a similar note, I am also able to insert a Post Content block inside another Post Content block. I can also insert the Post Content block in the post editor. I don't think either should be possible. Is that something we should address here or separately?

@Mamaduka
Copy link
Member

My test results:

  • I cannot insert "Template Parts" in the post editor, but I can edit them if they were inserted before this change.
  • I can insert them in Template Mode.
  • Template Parts work like before in Site Editor.

I can still see the Template Part listed in Preferences > Blocks, but I don't think this is a blocker.
CleanShot 2021-11-25 at 16 05 48

@ntsekouras
Copy link
Contributor Author

However I am able to insert a template part inside the Post Content block in the Site Editor, when my homepage is configured to display a static page:

This is the existing problem with have with allowedBlocks. It checks only the immediate parent. In your screenshot you're adding a template part inside a Group which is inside Post Content. I'm pretty confident that there are discussion about this (didn't search now).

On a similar note, I am also able to insert a Post Content block inside another Post Content block. I can also insert the Post Content block in the post editor. I don't think either should be possible. Is that something we should address here or separately?

This should be looked at separately. Also we need to be able to add Post Content inside a Query Loop block in post editor.

I can still see the Template Part listed in Preferences > Blocks, but I don't think this is a blocker.

I left this as is, as even we enforce the hiding of the block in post editor, with that setting we could hide in template editing mode as well.

Copy link
Member

@Mamaduka Mamaduka left a comment

Choose a reason for hiding this comment

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

Thanks, @ntsekouras.

This approach works and fixes the blocker issue.

I think we all agree with @gziolo's comment that we need a more general API in the long run.

@youknowriad
Copy link
Contributor

, In your screenshot you're adding a template part inside a Group which is inside Post Content. I'm pretty confident that there are discussion about this (didn't search now).

Indeed, I kind of forgot that allowedBlocks (and disallowed blocks) only work for direct children) meaning the solution here is not well-suited to solve this problem now. For me we should take time to find the right solution for this long term and not rush anything into 5.9 in that case.

@Mamaduka
Copy link
Member

For me we should take time to find the right solution for this long term and not rush anything into 5.9 in that case.

@youknowriad, generally I'm always for finding the right solutions, but we had to take shortcuts for other blocker issue. So, I'm a little confused about deciding when to go with a temp solution or not.

@mtias
Copy link
Member

mtias commented Nov 25, 2021

Sounds good to me, I also want to look at ways we can make registered blocks not so prominent — yet discoverable via search, etc, so we can favor variations instead of source blocks (query vs post list).

@ntsekouras
Copy link
Contributor Author

Sounds good. I'll close this PR for now. Thanks for the input all 👍

@ntsekouras ntsekouras closed this Nov 25, 2021
@gziolo gziolo deleted the hide/template-part-in-post-editor branch November 25, 2021 13:38
@youknowriad
Copy link
Contributor

@Mamaduka I think it's hard for me to compare things in general. Could you give move examples of contradictory decisions? Errors are always possible of course, but personally, I try to have a reasoning for each shortcut separately. It's always a hard decision to make.

@youknowriad
Copy link
Contributor

I'm happy to expand on my reasoning here.

Since the stop gap solution won't stop us from adding template parts to post content anyway aside some special use-cases (root level block-content block or post editor), it won't prevent us from having to deal with this in the future anyway. We'll still potentially have template parts inside post content blocks so why bother with a stop gap solution, especially since that solution means introducing a new API that we know don't work.

@Mamaduka
Copy link
Member

@youknowriad, thanks for taking time and explaining your reasoning 🙇

It was a more general question. I understand there's no rule of thumb for this kind of decision, but one can always learn a thing or two :)

@jameskoster
Copy link
Contributor

Would there be a way to caution people about this in the mean time? With 5.9 template parts are going to become more prominent, and I worry folks might start using them interchangeably with reusable blocks if they are able to insert them in to posts.

It would be a real pain for folks who are doing that to find that they cannot do so after a future update.

@youknowriad
Copy link
Contributor

It would be a real pain for folks who are doing that to find that they cannot do so after a future update.

I guess we could add a message somewhere to the block itself after it's inserted maybe?

@jameskoster
Copy link
Contributor

jameskoster commented Nov 25, 2021

That or something like a Notice would be good. Any small thing we can do to discourage this behaviour and avoid headaches down the road feels like a win.

@gziolo
Copy link
Member

gziolo commented Nov 25, 2021

Can we try replicating the same logic we use to prevent rendering the same instance of Template Part into itself? Instead we could try to halt rendering in the wrong context?

@jameskoster
Copy link
Contributor

Ah yes, the Post Content block does something similar when you insert it in a post. That would be perfect as an interim.

@getdave
Copy link
Contributor

getdave commented Nov 26, 2021

@ntsekouras If this was closed does that mean that #30668 can be remove from the 5.9 "Must Haves"?

@ntsekouras
Copy link
Contributor Author

ntsekouras commented Nov 26, 2021

@ntsekouras If this was closed does that mean that #30668 can be remove from the 5.9 "Must Haves"?

I'm not sure about removing the issue from the board, but definitely we need a different approach from this PR.

@priethor
Copy link
Contributor

priethor commented Nov 26, 2021

@ntsekouras If this was closed does that mean that #30668 can be remove from the 5.9 "Must Haves"?

No, #30668 is still targeted to be fixed for 5.9, we just need a different approach as Nik suggested. In any case, we shouldn't rush anything as pointed out in a comment above. Ideally, we should not show the Template Part block in the Post Editor inserter only to remove it in the following release, as it could confuse users.

@noisysocks noisysocks removed the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Dec 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Template Part Affects the Template Parts Block [Feature] Inserter The main way to insert blocks using the + button in the editing interface [Package] Edit Post /packages/edit-post
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Template Part block should not be available in the Post Editor inserter
10 participants