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

Site Editor: Browsing sidebar templates menu restructure #28291

Merged
merged 13 commits into from
Mar 8, 2021

Conversation

david-szabo97
Copy link
Member

@david-szabo97 david-szabo97 commented Jan 18, 2021

Description

  • All Primary and Secondary templates according to the WP Template Hierarchy appear at the root level
  • Variable templates are sorted into the "Posts" and "Pages" sections accordingly. IE post-$id and category-$id go in the "Posts" sections, and page-$id goes in the "Pages" section.
  • $custom templates go in the "General" section.
  • Unused templates (home, index, singular) goes to unused menu
  • page-home is an exception, it's set to shown up in General

Unused templates

Q: Why only home, index and singular can be in the Unused templates menu?
We wanted to keep it simple and only primary and secondary templates are moved to Unused menu. Hiding unused templates accurately would be extremely difficult.

Only 3 templates met these conditions:

  • can be superseded by only primary and/or secondary templates
  • we don't take dynamic and custom templates into account

home met the conditions because it is considered unused if:

  • front-page template exists
  • OR custom page template is shown on front

index met the conditions because it is considered unused if:

  • archive, 404, search template exist
  • AND (single and page exist OR singular exists)
  • AND (home exists OR superseded by front-page OR custom page shown on front)

singular met the conditions because it is considered unused if:

  • single and page template exist

How has this been tested?

  1. Open site editor
  2. Open browsing sidebar
  3. Navigate to Templates
  4. Make sure Primary and Secondary templates show up here
  5. Open Posts - make sure post-*, author-*, single-post-*, tag-* show up here
  6. Back to templates and open Pages - make sure page-* show up here
  7. Back to templates and open General - make sure $custom shows up here
  8. Back to templates and open Unused - make sure home, index, and/or singular shows up here if conditions are met

Screenshots

Screen.Recording.2021-02-17.at.16.06.23.mov

Types of changes

New feature (non-breaking change which adds functionality)

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.

@jameskoster
Copy link
Contributor

For now, here's what I think we should probably do:

  • All Primary and Secondary templates according to the WP Template Hierarchy appear at the root level
  • Variable templates are sorted in to the "Posts" and "Pages" sections accordingly. IE post-$id and category-$id go in the "Posts" sections, and page-$id goes in the "Pages" section.
  • $custom templates go in the "General" section.
  • If possible (I know this is a big ask), un-used Primary and Secondary templates go in the "Unused" section.

Here's a visual rendition of that:

Screenshot 2021-02-04 at 12 35 36

I'm sure that in the future we can refine the sections, but I think this would be a good place to start.

@david-szabo97 david-szabo97 force-pushed the update/navigation-panel-menus-restructure branch from 6abcd28 to 33ff608 Compare February 8, 2021 12:30
@github-actions
Copy link

github-actions bot commented Feb 8, 2021

Size Change: +3.12 kB (0%)

Total Size: 1.39 MB

Filename Size Change
build/annotations/index.js 3.78 kB -10 B (0%)
build/api-fetch/index.js 3.4 kB -4 B (0%)
build/autop/index.js 2.83 kB -3 B (0%)
build/block-directory/index.js 8.63 kB -473 B (-5%)
build/block-directory/style-rtl.css 1 kB -6 B (-1%)
build/block-directory/style.css 1.01 kB -5 B (0%)
build/block-editor/index.js 125 kB +49 B (0%)
build/block-library/blocks/spacer/editor-rtl.css 317 B +15 B (+5%) 🔍
build/block-library/blocks/spacer/editor.css 317 B +15 B (+5%) 🔍
build/block-library/editor-rtl.css 9.54 kB +15 B (0%)
build/block-library/editor.css 9.53 kB +14 B (0%)
build/block-library/index.js 148 kB -615 B (0%)
build/block-serialization-default-parser/index.js 1.87 kB -2 B (0%)
build/blocks/index.js 48.3 kB -10 B (0%)
build/components/index.js 276 kB +3.94 kB (+1%)
build/compose/index.js 11.1 kB -14 B (0%)
build/core-data/index.js 16.7 kB -10 B (0%)
build/customize-widgets/index.js 3.98 kB -110 B (-3%)
build/data-controls/index.js 830 B -1 B (0%)
build/data/index.js 8.86 kB -8 B (0%)
build/dom/index.js 4.94 kB -14 B (0%)
build/edit-navigation/index.js 11 kB -10 B (0%)
build/edit-post/index.js 306 kB -530 B (0%)
build/edit-site/index.js 27.3 kB +904 B (+3%)
build/edit-site/style-rtl.css 4.47 kB +53 B (+1%)
build/edit-site/style.css 4.46 kB +53 B (+1%)
build/edit-widgets/index.js 20.2 kB -54 B (0%)
build/element/index.js 4.62 kB -2 B (0%)
build/format-library/index.js 6.78 kB +6 B (0%)
build/i18n/index.js 4.01 kB -4 B (0%)
build/is-shallow-equal/index.js 699 B +1 B (0%)
build/keyboard-shortcuts/index.js 2.54 kB -6 B (0%)
build/keycodes/index.js 1.95 kB -6 B (0%)
build/media-utils/index.js 5.35 kB -9 B (0%)
build/notices/index.js 1.85 kB -5 B (0%)
build/nux/index.js 3.41 kB -1 B (0%)
build/primitives/index.js 1.42 kB -5 B (0%)
build/redux-routine/index.js 2.84 kB +1 B (0%)
build/reusable-blocks/index.js 3.8 kB -7 B (0%)
build/rich-text/index.js 13.5 kB -10 B (0%)
build/server-side-render/index.js 2.81 kB -6 B (0%)
build/token-list/index.js 1.27 kB -1 B (0%)
build/url/index.js 3.01 kB -2 B (0%)
build/viewport/index.js 1.85 kB -2 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/blob/index.js 665 B 0 B
build/block-editor/style-rtl.css 12.1 kB 0 B
build/block-editor/style.css 12.1 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 61 B 0 B
build/block-library/blocks/archives/editor.css 60 B 0 B
build/block-library/blocks/audio/editor-rtl.css 58 B 0 B
build/block-library/blocks/audio/editor.css 58 B 0 B
build/block-library/blocks/audio/style-rtl.css 103 B 0 B
build/block-library/blocks/audio/style.css 103 B 0 B
build/block-library/blocks/block/editor-rtl.css 161 B 0 B
build/block-library/blocks/block/editor.css 161 B 0 B
build/block-library/blocks/button/editor-rtl.css 475 B 0 B
build/block-library/blocks/button/editor.css 474 B 0 B
build/block-library/blocks/button/style-rtl.css 479 B 0 B
build/block-library/blocks/button/style.css 479 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 315 B 0 B
build/block-library/blocks/buttons/editor.css 315 B 0 B
build/block-library/blocks/buttons/style-rtl.css 364 B 0 B
build/block-library/blocks/buttons/style.css 363 B 0 B
build/block-library/blocks/calendar/style-rtl.css 208 B 0 B
build/block-library/blocks/calendar/style.css 208 B 0 B
build/block-library/blocks/categories/editor-rtl.css 84 B 0 B
build/block-library/blocks/categories/editor.css 83 B 0 B
build/block-library/blocks/categories/style-rtl.css 79 B 0 B
build/block-library/blocks/categories/style.css 79 B 0 B
build/block-library/blocks/code/style-rtl.css 90 B 0 B
build/block-library/blocks/code/style.css 90 B 0 B
build/block-library/blocks/columns/editor-rtl.css 190 B 0 B
build/block-library/blocks/columns/editor.css 190 B 0 B
build/block-library/blocks/columns/style-rtl.css 421 B 0 B
build/block-library/blocks/columns/style.css 421 B 0 B
build/block-library/blocks/cover/editor-rtl.css 390 B 0 B
build/block-library/blocks/cover/editor.css 389 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.25 kB 0 B
build/block-library/blocks/cover/style.css 1.25 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 486 B 0 B
build/block-library/blocks/embed/editor.css 486 B 0 B
build/block-library/blocks/embed/style-rtl.css 396 B 0 B
build/block-library/blocks/embed/style.css 395 B 0 B
build/block-library/blocks/file/editor-rtl.css 199 B 0 B
build/block-library/blocks/file/editor.css 198 B 0 B
build/block-library/blocks/file/style-rtl.css 248 B 0 B
build/block-library/blocks/file/style.css 248 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.45 kB 0 B
build/block-library/blocks/freeform/editor.css 2.45 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 689 B 0 B
build/block-library/blocks/gallery/editor.css 690 B 0 B
build/block-library/blocks/gallery/style-rtl.css 1.07 kB 0 B
build/block-library/blocks/gallery/style.css 1.06 kB 0 B
build/block-library/blocks/group/editor-rtl.css 318 B 0 B
build/block-library/blocks/group/editor.css 317 B 0 B
build/block-library/blocks/group/style-rtl.css 57 B 0 B
build/block-library/blocks/group/style.css 57 B 0 B
build/block-library/blocks/heading/editor-rtl.css 129 B 0 B
build/block-library/blocks/heading/editor.css 129 B 0 B
build/block-library/blocks/heading/style-rtl.css 76 B 0 B
build/block-library/blocks/heading/style.css 76 B 0 B
build/block-library/blocks/html/editor-rtl.css 281 B 0 B
build/block-library/blocks/html/editor.css 281 B 0 B
build/block-library/blocks/image/editor-rtl.css 717 B 0 B
build/block-library/blocks/image/editor.css 716 B 0 B
build/block-library/blocks/image/style-rtl.css 477 B 0 B
build/block-library/blocks/image/style.css 478 B 0 B
build/block-library/blocks/latest-comments/editor-rtl.css 159 B 0 B
build/block-library/blocks/latest-comments/editor.css 158 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 269 B 0 B
build/block-library/blocks/latest-comments/style.css 269 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B 0 B
build/block-library/blocks/latest-posts/editor.css 137 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 523 B 0 B
build/block-library/blocks/latest-posts/style.css 522 B 0 B
build/block-library/blocks/list/editor-rtl.css 65 B 0 B
build/block-library/blocks/list/editor.css 65 B 0 B
build/block-library/blocks/list/style-rtl.css 63 B 0 B
build/block-library/blocks/list/style.css 63 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 191 B 0 B
build/block-library/blocks/media-text/editor.css 191 B 0 B
build/block-library/blocks/media-text/style-rtl.css 535 B 0 B
build/block-library/blocks/media-text/style.css 532 B 0 B
build/block-library/blocks/more/editor-rtl.css 434 B 0 B
build/block-library/blocks/more/editor.css 434 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 681 B 0 B
build/block-library/blocks/navigation-link/editor.css 683 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 694 B 0 B
build/block-library/blocks/navigation-link/style.css 692 B 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.34 kB 0 B
build/block-library/blocks/navigation/editor.css 1.34 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 213 B 0 B
build/block-library/blocks/navigation/style.css 214 B 0 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B 0 B
build/block-library/blocks/nextpage/editor.css 395 B 0 B
build/block-library/blocks/page-list/editor-rtl.css 214 B 0 B
build/block-library/blocks/page-list/editor.css 214 B 0 B
build/block-library/blocks/page-list/style-rtl.css 527 B 0 B
build/block-library/blocks/page-list/style.css 526 B 0 B
build/block-library/blocks/paragraph/editor-rtl.css 109 B 0 B
build/block-library/blocks/paragraph/editor.css 109 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 288 B 0 B
build/block-library/blocks/paragraph/style.css 289 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 209 B 0 B
build/block-library/blocks/post-author/editor.css 209 B 0 B
build/block-library/blocks/post-author/style-rtl.css 183 B 0 B
build/block-library/blocks/post-author/style.css 184 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 250 B 0 B
build/block-library/blocks/post-comments-form/style.css 250 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 139 B 0 B
build/block-library/blocks/post-content/editor.css 139 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B 0 B
build/block-library/blocks/post-excerpt/editor.css 73 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 338 B 0 B
build/block-library/blocks/post-featured-image/editor.css 338 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 100 B 0 B
build/block-library/blocks/post-featured-image/style.css 100 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 63 B 0 B
build/block-library/blocks/preformatted/style.css 63 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 183 B 0 B
build/block-library/blocks/pullquote/editor.css 183 B 0 B
build/block-library/blocks/pullquote/style-rtl.css 316 B 0 B
build/block-library/blocks/pullquote/style.css 316 B 0 B
build/block-library/blocks/query-loop/editor-rtl.css 90 B 0 B
build/block-library/blocks/query-loop/editor.css 89 B 0 B
build/block-library/blocks/query-loop/style-rtl.css 315 B 0 B
build/block-library/blocks/query-loop/style.css 317 B 0 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B 0 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B 0 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B 0 B
build/block-library/blocks/query-pagination/editor.css 262 B 0 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B 0 B
build/block-library/blocks/query-pagination/style.css 168 B 0 B
build/block-library/blocks/query/editor-rtl.css 814 B 0 B
build/block-library/blocks/query/editor.css 812 B 0 B
build/block-library/blocks/quote/editor-rtl.css 61 B 0 B
build/block-library/blocks/quote/editor.css 61 B 0 B
build/block-library/blocks/quote/style-rtl.css 169 B 0 B
build/block-library/blocks/quote/style.css 169 B 0 B
build/block-library/blocks/rss/editor-rtl.css 201 B 0 B
build/block-library/blocks/rss/editor.css 202 B 0 B
build/block-library/blocks/rss/style-rtl.css 290 B 0 B
build/block-library/blocks/rss/style.css 290 B 0 B
build/block-library/blocks/search/editor-rtl.css 165 B 0 B
build/block-library/blocks/search/editor.css 165 B 0 B
build/block-library/blocks/search/style-rtl.css 342 B 0 B
build/block-library/blocks/search/style.css 344 B 0 B
build/block-library/blocks/separator/editor-rtl.css 99 B 0 B
build/block-library/blocks/separator/editor.css 99 B 0 B
build/block-library/blocks/separator/style-rtl.css 236 B 0 B
build/block-library/blocks/separator/style.css 236 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 504 B 0 B
build/block-library/blocks/shortcode/editor.css 504 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 201 B 0 B
build/block-library/blocks/site-logo/editor.css 201 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 115 B 0 B
build/block-library/blocks/site-logo/style.css 115 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 164 B 0 B
build/block-library/blocks/social-link/editor.css 165 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 696 B 0 B
build/block-library/blocks/social-links/editor.css 696 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB 0 B
build/block-library/blocks/social-links/style.css 1.32 kB 0 B
build/block-library/blocks/spacer/style-rtl.css 48 B 0 B
build/block-library/blocks/spacer/style.css 48 B 0 B
build/block-library/blocks/subhead/editor-rtl.css 99 B 0 B
build/block-library/blocks/subhead/editor.css 99 B 0 B
build/block-library/blocks/subhead/style-rtl.css 80 B 0 B
build/block-library/blocks/subhead/style.css 80 B 0 B
build/block-library/blocks/table/editor-rtl.css 478 B 0 B
build/block-library/blocks/table/editor.css 478 B 0 B
build/block-library/blocks/table/style-rtl.css 390 B 0 B
build/block-library/blocks/table/style.css 390 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 118 B 0 B
build/block-library/blocks/tag-cloud/editor.css 118 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 94 B 0 B
build/block-library/blocks/tag-cloud/style.css 94 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 557 B 0 B
build/block-library/blocks/template-part/editor.css 556 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B 0 B
build/block-library/blocks/text-columns/editor.css 95 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 166 B 0 B
build/block-library/blocks/text-columns/style.css 166 B 0 B
build/block-library/blocks/verse/editor-rtl.css 62 B 0 B
build/block-library/blocks/verse/editor.css 62 B 0 B
build/block-library/blocks/verse/style-rtl.css 87 B 0 B
build/block-library/blocks/verse/style.css 87 B 0 B
build/block-library/blocks/video/editor-rtl.css 504 B 0 B
build/block-library/blocks/video/editor.css 503 B 0 B
build/block-library/blocks/video/style-rtl.css 193 B 0 B
build/block-library/blocks/video/style.css 193 B 0 B
build/block-library/common-rtl.css 1.08 kB 0 B
build/block-library/common.css 1.08 kB 0 B
build/block-library/style-rtl.css 8.85 kB 0 B
build/block-library/style.css 8.85 kB 0 B
build/block-library/theme-rtl.css 736 B 0 B
build/block-library/theme.css 736 B 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/components/style-rtl.css 15.5 kB 0 B
build/components/style.css 15.5 kB 0 B
build/customize-widgets/style-rtl.css 168 B 0 B
build/customize-widgets/style.css 168 B 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 769 B 0 B
build/dom-ready/index.js 576 B 0 B
build/edit-navigation/style-rtl.css 1.26 kB 0 B
build/edit-navigation/style.css 1.25 kB 0 B
build/edit-post/style-rtl.css 6.81 kB 0 B
build/edit-post/style.css 6.8 kB 0 B
build/edit-widgets/style-rtl.css 3.2 kB 0 B
build/edit-widgets/style.css 3.2 kB 0 B
build/editor/editor-styles-rtl.css 543 B 0 B
build/editor/editor-styles.css 545 B 0 B
build/editor/index.js 42.1 kB 0 B
build/editor/style-rtl.css 3.9 kB 0 B
build/editor/style.css 3.9 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/style-rtl.css 637 B 0 B
build/format-library/style.css 639 B 0 B
build/hooks/index.js 2.28 kB 0 B
build/html-entities/index.js 622 B 0 B
build/list-reusable-blocks/index.js 3.14 kB 0 B
build/list-reusable-blocks/style-rtl.css 629 B 0 B
build/list-reusable-blocks/style.css 628 B 0 B
build/nux/style-rtl.css 731 B 0 B
build/nux/style.css 727 B 0 B
build/plugins/index.js 2.61 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/react-i18n/index.js 1.45 kB 0 B
build/reusable-blocks/style-rtl.css 225 B 0 B
build/reusable-blocks/style.css 225 B 0 B
build/shortcode/index.js 1.7 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@david-szabo97 david-szabo97 force-pushed the update/navigation-panel-menus-restructure branch from 966cca3 to 2779c31 Compare February 17, 2021 15:01
@david-szabo97 david-szabo97 added the [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") label Feb 17, 2021
@david-szabo97 david-szabo97 changed the title Site Editor: Navigation panel menus restructure Site Editor: Browsing sidebar templates menu restructure Feb 17, 2021
@david-szabo97 david-szabo97 marked this pull request as ready for review February 17, 2021 15:10
@jameskoster
Copy link
Contributor

One thing that tripped me up a bit is the custom page-home template that the tt1-blocks theme currently registers.

It's worth remembering that custom templates can be restricted to specific post types, or made available to a set of post types, including CPTs. [Docs]

The page-home template in tt1-blocks is restricted to pages, so I understand why it appears in the "Page templates" section. But when I update it to also support posts it still appears in the "Page templates" section which is misleading. Due to the flexibility of these templates, I think it might be simplest to make them to appear in the "General templates" section, as outlined in the diagram in this comment.

Then, the "Page templates" and "Post templates" sections are reserved for templates that target a specific page or post.

@david-szabo97
Copy link
Member Author

Moved page-home to General

Base automatically changed from master to trunk March 1, 2021 15:45
Copy link
Member

@vindl vindl left a comment

Choose a reason for hiding this comment

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

This is working nicely for me!

One thing I started noticing lately, that's not related to this PR, are the template descriptions containing the "is queried" phrase. I don't think it explains much to the user and it's only going to add confusion.

}

if (
slug.startsWith( 'post-' ) ||
Copy link
Member

Choose a reason for hiding this comment

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

Maybe we can isolate these to an array similar to TEMPLATES_TOP_LEVEL?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good idea! Thanks!

@mattwiebe
Copy link
Contributor

One thing I started noticing lately are the template descriptions containing the "is queried" phrase. I don't think it explains much to the user and it's only going to add confusion.

I'd just noticed it too, but somebody was ahead of us: #29531

Copy link
Contributor

@Addison-Stavlo Addison-Stavlo left a comment

Choose a reason for hiding this comment

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

Looks good from my end, I think we still need an to check if 'home' is superseded though?

@mtias
Copy link
Member

mtias commented Mar 4, 2021

One thing that jumped to mind when reviewing is the single-post template in addition to single and singular. I think that first one should probably be removed from the default set. cc @kjellr @scruffian @carolinan

@jameskoster
Copy link
Contributor

Just to clarify why the single-post template was added:

Even with updated descriptions, the Single and Singular (in particular) templates are a little ambiguous. I worry that it's a lot to ask of users to understand that the single template will resolve not only for posts, but for any single CPT entries as well.

An option to add an explicit template for pages exists, I think it stands to reason that there also be a corresponding option for posts.

@mtias
Copy link
Member

mtias commented Mar 4, 2021

It's not a template that is used frequently on themes because "single" covers most of the needs, and any other more specific custom post type gets its own template if needed. Having both "single" and "single-post" is more confusing. We could have the name "Single Post" on single.

@jameskoster
Copy link
Contributor

We could have the name "Single Post" on single.

I think that would help people who are not familiar with the wp template hierarchy.

The trade-off is that users will have to exercise some doublethink in order to understand that the "Single Post" template is for single Posts (as in single entries of the post post type) and any other single CPT entry 🥴

@kjellr
Copy link
Contributor

kjellr commented Mar 4, 2021

Having both "single" and "single-post" is more confusing.

I agree, I'm fine with removing the single-posts template.

As for what to call the "Single" template, I think "Single Post" (or even just "Post" to correspond with the "Page" template nomenclature) seems okay. It is kind of confusing that that template might be used for CPT entries too, but I'm not sure it's more confusing than having the current state of affairs (where the vaguely-named "Single" template does that).

@Addison-Stavlo
Copy link
Contributor

in order to understand that the "Single Post" template is for single Posts (as in single entries of the post post type) and any other single CPT entry

🤔 "Single Entry", "Single Item"... 🤷‍♀️

@jameskoster
Copy link
Contributor

🤷‍♀️

Hah, the idea of adding "Post" to the name is to make it intuitive for people to add a template that displays a single blog post. "Single" alone doesn't describe that very well.

I suppose the description helps with the doublethink situation a bit?

Single post
Template used to display a single blog post, or a single post of any other type

Having to include that "Or a single post of any other type" bit really bugs me, but I'm struggling to think of an alternative, if we want to get rid of single-post.

@Addison-Stavlo
Copy link
Contributor

Having to include that "Or a single post of any other type" bit really bugs me

Maybe 'custom' would fit better than 'other' ? At least trying to think as a new user 'custom' seems more like something i dont necessarily need to worry about, but 'other' type might make me a little concerned that I don't know what the other types are! 😆

"Template used to display a single blog post, or a single post of any custom type"

@jameskoster
Copy link
Contributor

Another idea (probably asking too much here but let's at least rule it out) would be to make the description dynamic, and explicitly list which post types it will resolve for. So if the following public post types exist:

  • page
  • post
  • testimonial

And the following templates exist:

  • page
  • single-post

The description for the Single template would read:

Template used to display a single Testimonial

If you then deleted the single-post template, the description for Single would be updated to read:

Template used to display a single Post or Testimonial

We might do something similar for the Singular template.

@david-szabo97
Copy link
Member Author

This sounds like a good candidate for a follow-up, what ya'll think? 😄 We can go ahead and merge this if you don't have any blockers here.

@jameskoster
Copy link
Contributor

I think that's fair. This looks good from the design side.

@mtias
Copy link
Member

mtias commented Mar 8, 2021

Sorry for derailing the conversation :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing")
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants