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

Create comments title with simple styling #40419

Merged
merged 15 commits into from
Apr 19, 2022
Merged

Conversation

cbravobernal
Copy link
Contributor

@cbravobernal cbravobernal commented Apr 18, 2022

What?

Closes #40264

Adds a block to include "X replies to Post" title.

Screenshot 2022-04-18 at 15 25 54

Why?

This way we keep consistency with the previous Comments list of previous templates. Mentioned in WP Tavern.

How?

Adding a new block. I have to include:

  • Custom wording for One Response to and X responses to
  • Display with the same styling both in editor and Frontend.
  • Test with no comments.
  • Add it by default to the Comments Query Loop template.
  • Tag selector
  • Display everything on Frontend.
  • New Block Icon like Archive Title or Post Title. cc @jameskoster

Testing Instructions

1.) Add a Comments Query Loop.
2.) Add Comments Title
3.) Edit styling.
4.) Check that the frontend displays the styles chosen in the editor.

Screenshots or screencast

@github-actions
Copy link

github-actions bot commented Apr 18, 2022

Size Change: +935 B (0%)

Total Size: 1.23 MB

Filename Size Change
build/block-library/editor-rtl.css 10.2 kB +13 B (0%)
build/block-library/editor.css 10.2 kB +12 B (0%)
build/block-library/index.min.js 176 kB +911 B (+1%)
build/components/index.min.js 223 kB -1 B (0%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 993 B
build/admin-manifest/index.min.js 1.24 kB
build/annotations/index.min.js 2.77 kB
build/api-fetch/index.min.js 2.27 kB
build/autop/index.min.js 2.15 kB
build/blob/index.min.js 487 B
build/block-directory/index.min.js 6.51 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/index.min.js 150 kB
build/block-editor/style-rtl.css 15.2 kB
build/block-editor/style.css 15.2 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 150 B
build/block-library/blocks/audio/editor.css 150 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/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 59 B
build/block-library/blocks/avatar/style.css 59 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 445 B
build/block-library/blocks/button/editor.css 445 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 292 B
build/block-library/blocks/buttons/editor.css 292 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 103 B
build/block-library/blocks/code/style.css 103 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 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 406 B
build/block-library/blocks/columns/style.css 406 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-template/style-rtl.css 127 B
build/block-library/blocks/comment-template/style.css 127 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-query-loop/editor-rtl.css 95 B
build/block-library/blocks/comments-query-loop/editor.css 95 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/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.56 kB
build/block-library/blocks/cover/style.css 1.56 kB
build/block-library/blocks/embed/editor-rtl.css 293 B
build/block-library/blocks/embed/editor.css 293 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 353 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 961 B
build/block-library/blocks/gallery/editor.css 964 B
build/block-library/blocks/gallery/style-rtl.css 1.51 kB
build/block-library/blocks/gallery/style.css 1.51 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 333 B
build/block-library/blocks/group/editor.css 333 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 76 B
build/block-library/blocks/heading/style.css 76 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 529 B
build/block-library/blocks/image/style.css 535 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 199 B
build/block-library/blocks/latest-posts/editor.css 198 B
build/block-library/blocks/latest-posts/style-rtl.css 447 B
build/block-library/blocks/latest-posts/style.css 446 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 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 708 B
build/block-library/blocks/navigation-link/editor.css 706 B
build/block-library/blocks/navigation-link/style-rtl.css 115 B
build/block-library/blocks/navigation-link/style.css 115 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 375 B
build/block-library/blocks/navigation/editor-rtl.css 2.03 kB
build/block-library/blocks/navigation/editor.css 2.04 kB
build/block-library/blocks/navigation/style-rtl.css 1.93 kB
build/block-library/blocks/navigation/style.css 1.92 kB
build/block-library/blocks/navigation/view-modal.min.js 2.65 kB
build/block-library/blocks/navigation/view.min.js 395 B
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 363 B
build/block-library/blocks/page-list/editor.css 363 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 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 260 B
build/block-library/blocks/paragraph/style.css 260 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 446 B
build/block-library/blocks/post-comments-form/style.css 446 B
build/block-library/blocks/post-comments/style-rtl.css 521 B
build/block-library/blocks/post-comments/style.css 521 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 323 B
build/block-library/blocks/post-template/style.css 323 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 370 B
build/block-library/blocks/pullquote/style.css 370 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 221 B
build/block-library/blocks/query-pagination/editor.css 211 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 369 B
build/block-library/blocks/query/editor.css 369 B
build/block-library/blocks/quote/style-rtl.css 213 B
build/block-library/blocks/quote/style.css 213 B
build/block-library/blocks/quote/theme-rtl.css 223 B
build/block-library/blocks/quote/theme.css 226 B
build/block-library/blocks/read-more/style-rtl.css 132 B
build/block-library/blocks/read-more/style.css 132 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 140 B
build/block-library/blocks/separator/editor.css 140 B
build/block-library/blocks/separator/style-rtl.css 233 B
build/block-library/blocks/separator/style.css 233 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 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 759 B
build/block-library/blocks/site-logo/editor.css 759 B
build/block-library/blocks/site-logo/style-rtl.css 181 B
build/block-library/blocks/site-logo/style.css 181 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 674 B
build/block-library/blocks/social-links/editor.css 673 B
build/block-library/blocks/social-links/style-rtl.css 1.37 kB
build/block-library/blocks/social-links/style.css 1.36 kB
build/block-library/blocks/spacer/editor-rtl.css 332 B
build/block-library/blocks/spacer/editor.css 332 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 504 B
build/block-library/blocks/table/editor.css 504 B
build/block-library/blocks/table/style-rtl.css 625 B
build/block-library/blocks/table/style.css 625 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 226 B
build/block-library/blocks/tag-cloud/style.css 227 B
build/block-library/blocks/template-part/editor-rtl.css 149 B
build/block-library/blocks/template-part/editor.css 149 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 571 B
build/block-library/blocks/video/editor.css 572 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 993 B
build/block-library/common.css 990 B
build/block-library/reset-rtl.css 478 B
build/block-library/reset.css 478 B
build/block-library/style-rtl.css 11.5 kB
build/block-library/style.css 11.5 kB
build/block-library/theme-rtl.css 689 B
build/block-library/theme.css 694 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/blocks/index.min.js 47 kB
build/components/style-rtl.css 15 kB
build/components/style.css 15 kB
build/compose/index.min.js 11.2 kB
build/core-data/index.min.js 14.5 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.39 kB
build/customize-widgets/style.css 1.39 kB
build/data-controls/index.min.js 663 B
build/data/index.min.js 8.66 kB
build/date/index.min.js 32 kB
build/deprecated/index.min.js 518 B
build/dom-ready/index.min.js 336 B
build/dom/index.min.js 4.58 kB
build/edit-navigation/index.min.js 15.8 kB
build/edit-navigation/style-rtl.css 4.04 kB
build/edit-navigation/style.css 4.05 kB
build/edit-post/classic-rtl.css 546 B
build/edit-post/classic.css 547 B
build/edit-post/index.min.js 30.1 kB
build/edit-post/style-rtl.css 7.18 kB
build/edit-post/style.css 7.18 kB
build/edit-site/index.min.js 47.4 kB
build/edit-site/style-rtl.css 8.02 kB
build/edit-site/style.css 8.01 kB
build/edit-widgets/index.min.js 16.3 kB
build/edit-widgets/style-rtl.css 4.4 kB
build/edit-widgets/style.css 4.39 kB
build/editor/index.min.js 38.5 kB
build/editor/style-rtl.css 3.71 kB
build/editor/style.css 3.71 kB
build/element/index.min.js 4.29 kB
build/escape-html/index.min.js 548 B
build/format-library/index.min.js 6.62 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.66 kB
build/html-entities/index.min.js 454 B
build/i18n/index.min.js 3.79 kB
build/is-shallow-equal/index.min.js 535 B
build/keyboard-shortcuts/index.min.js 1.83 kB
build/keycodes/index.min.js 1.41 kB
build/list-reusable-blocks/index.min.js 1.75 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.94 kB
build/notices/index.min.js 957 B
build/nux/index.min.js 2.12 kB
build/nux/style-rtl.css 751 B
build/nux/style.css 749 B
build/plugins/index.min.js 1.98 kB
build/preferences/index.min.js 1.2 kB
build/primitives/index.min.js 949 B
build/priority-queue/index.min.js 611 B
build/react-i18n/index.min.js 704 B
build/react-refresh-entry/index.min.js 8.44 kB
build/react-refresh-runtime/index.min.js 7.31 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.24 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11.2 kB
build/server-side-render/index.min.js 1.61 kB
build/shortcode/index.min.js 1.52 kB
build/token-list/index.min.js 668 B
build/url/index.min.js 1.99 kB
build/vendors/react-dom.min.js 38.5 kB
build/vendors/react.min.js 4.34 kB
build/viewport/index.min.js 1.08 kB
build/warning/index.min.js 280 B
build/widgets/index.min.js 7.21 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.07 kB

compressed-size-action

@justintadlock
Copy link
Contributor

I'm wondering if we should have a "Heading Level" dropdown in the toolbar. This would be consistent with other "title" blocks like Site Title, Query Title, and Post Title.

The wp-includes/theme-compat/comments.php uses an <h3> by default. It seems like <h2> would be the most appropriate default since it's the next level down from the <h1> post title.

Copy link
Contributor

@michalczaplinski michalczaplinski left a comment

Choose a reason for hiding this comment

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

Nice work @c4rl0sbr4v0 and @justintadlock 👏

I've pushed a couple minor commits:

  • Fixing some minor typos and wording
  • Fixing the phpcs-related issues (why the unit tests were failing)
  • Adding quotation marks around the title so that it in the editor it says "some title" instead of just some title.

Aside from this, a couple of other things:

  • Agreed that we could add the "Heading Level" dropdown in the toolbar

  • When the "show post title" is turned off, the title should not say "X responses to" but rather just "X responses".

    Screen.Recording.2022-04-18.at.19.13.51.mov

if ( currentPostId === postId ) {
setCommentsCount( parseInt( res.headers.get( 'X-WP-Total' ) ) );
}
} );
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't we .catch() the error here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!

Comment on lines 128 to 192
<PlainText
__experimentalVersion={ 2 }
tagName="span"
aria-label={ __( ' Responses to ' ) }
placeholder={ __( ' Responses to ' ) }
value={ multipleCommentsLabel }
onChange={ ( newLabel ) =>
setAttributes( {
multipleCommentsLabel: newLabel,
} )
}
/>
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are we using `<PlainText /> here instead of just rendering a plain string?

I see that it is causing weird CSS issues in the editor (the color and opacity are inherited from some unrelated classes for example):

Screen.Recording.2022-04-18.at.19.33.49.mov

Copy link
Contributor Author

Choose a reason for hiding this comment

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

<PlainText /> is a placeholder where you can edit the content. It is used for example in pagination links, where you can edit the text. It seems that the opacity is a way to tell the user that text is editable.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, does that mean the user should be able to edit this in the Site Editor? I have tried but can't seem to...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, seems great. But for the life of me, I can't seem to edit the Comment Title -- neither in the Site Editor nor the Post Editor... 😕

Copy link
Contributor

Choose a reason for hiding this comment

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

@DAreRodz helped me figure this out: These are actual placeholders (like the greyed-out value you see in a form input before you enter anything), so you really just click anywhere on them and start typing.

The important thing is that clicking on them won't set a cursor, nor is it possible to highlight part of it (e.g. by double-clicking) -- because they're placeholders 😅

Here's the screen recording that David shared:

Screen.Recording.2022-04-19.at.19.34.07.mov

@cbravobernal
Copy link
Contributor Author

When the "show post title" is turned off, the title should not say "X responses to" but rather just "X responses".

I'm not really sure if we should update that automatically, as the text can be edited by the user.

@cbravobernal cbravobernal force-pushed the add/comments-title-block branch from a646fcb to e5d2a2b Compare April 19, 2022 14:01
@cbravobernal cbravobernal added the [Block] Comments Title Affects the Comments Title Block label Apr 19, 2022
@ockham
Copy link
Contributor

ockham commented Apr 19, 2022

There's one more UX aspect I'd like to change: The bottom toggle in the sidebar

image

The first two toggles determine if we're including the number and the post title (i.e. if we're rendering the 9 and/or the "to "My post" in 9 responses to "My post").

The third toggle however doesn't change what we're displaying; instead, it switches the block in the editor between singular and plural mode, in order to allow editing those.

comment-title-toggle

In order to make that a bit clearer visually, I'll try using a ToggleGroup instead.


Note that that still won't solve a harder problem: In a number of languages, there is more than one "plural" form. E.g. Czech uses singular for 1 item, nominative plural for 2-4 items, and uses genitive for 5+ items (see). That's precisely the problem that WP's (and gettext()'s _n() solves, BTW.

UX-wise, this is a rather hard problem (we will probably need to infer how many different "plural" forms exist for a given language, and make each of them editable) that we cannot possibly tackle now.

@ockham
Copy link
Contributor

ockham commented Apr 19, 2022

Per b649cba:

image

Turns out we also don't need a block attribute, since per the above reasoning, this doesn't change anything on the fronted (but just sets if we're currently editing the singular or plural variant in the editor). useState() is thus sufficient.

Copy link
Contributor

@ockham ockham left a comment

Choose a reason for hiding this comment

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

LGTM, pending CI! :shipit:

Nice teamwork, folks 🎉

@ockham ockham merged commit a1a1468 into trunk Apr 19, 2022
@ockham ockham deleted the add/comments-title-block branch April 19, 2022 19:53
@github-actions github-actions bot added this to the Gutenberg 13.1 milestone Apr 19, 2022
@cbravobernal cbravobernal removed the Needs Testing Needs further testing to be confirmed. label Apr 20, 2022
@ockham
Copy link
Contributor

ockham commented Apr 20, 2022

@jasmussen Uh, I just had a realization. "Comments Title" might be a bit misleading -- it's not really a given comment's title (there's no such thing really!), but rather the header on top of a number of comments that says x Responses to "My beautiful post". (Hence the plural: Comments Title.)

This might have some implications for the icon as well, no? 😅 I guess it would need to look less consistent with Post/Query/... Title icons... 🤔

@ockham
Copy link
Contributor

ockham commented Apr 20, 2022

Maybe we should rename the block to "Comments Heading" or something like that to differentiate it better from the concept of an enitity's title?

cc/ @c4rl0sbr4v0 @jasmussen

@jasmussen
Copy link
Contributor

jasmussen commented Apr 20, 2022

Good question. I'd lean towards "Comments Title" simply because it is related to all the other similar "Title" blocks. But it's not a strong opionion. Alternately we could call the icon file "commentsTitle" but have the block itself be called "Comments Heading".

@ockham
Copy link
Contributor

ockham commented Apr 20, 2022

Thanks @jasmussen! Okay, let's leave it as-is then. Maybe I was influenced too strongly by the Post Title; something like the Archive Title might be actually closer to this block -- which is also a heading for a collection of things 😄

@jasmussen
Copy link
Contributor

jasmussen commented Apr 20, 2022

Not that commentsTitle (plural) could still make sense over the singular commentTitle.

@ockham
Copy link
Contributor

ockham commented Apr 20, 2022

Right, that's what we already have for the block name, but not for the icon. Might make sense to change, yeah 👍

@justintadlock
Copy link
Contributor

Just noting why I called this "Comments Title" to start with:

Historically, this has been referred to as "comments title" in theme code. Despite there not being a dedicated template tag, past Twenty* themes used it for the heading class and translator's context:

<h2 class="comments-title">

_nx( '%s comment', '%s comments', $twenty_twenty_one_comment_count, 'Comments title', 'twentytwentyone' )

Plus, this was the naming scheme used for the Archive Title block.

@ockham
Copy link
Contributor

ockham commented Apr 22, 2022

Thanks @justintadlock, makes sense! 😄

Comments Title it is 👍

@ndiego
Copy link
Member

ndiego commented Apr 25, 2022

Hi all, this appears to be a new feature, which would technically disqualify it from 6.0 at this point. Let me know if there are exceptions I am unaware of, otherwise, I will remove it from the 6.0 Project Board. Thanks!

cc @annezazu @priethor

On a personal note, it would be nice to have in 6.0 😉

@priethor
Copy link
Contributor

I think the line between new features, improvements, and fixes can sometimes be very blurry. In this case, the PR adds a new block, making it easy to think it's a totally new feature.

However, the PR originated thanks to feedback fathered during the Beta testing, identifying a missing/unexpected functionality. While not a bugfix (it wasn't broken), I'd lean towards labeling this as a low-risk UX fix/polish and including it in Beta3, but would love to hear from @adamziel and @gziolo, too.

@ndiego ndiego added 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 Apr 25, 2022
@gziolo
Copy link
Member

gziolo commented Apr 25, 2022

We included it for WP Beta 3. I agree with the reasoning that it's a small part of the bigger block. Still, the size of the PR definitely stands out when compared with all other PRs included in Beta 3.

gziolo pushed a commit that referenced this pull request Apr 25, 2022
Co-authored-by: Michal Czaplinski <[email protected]>
Co-authored-by: Bernie Reiter <[email protected]>
@gziolo
Copy link
Member

gziolo commented Apr 25, 2022

Cherry-picked to the wp/6.0 branch for WordPress Beta 3 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Comments Title Affects the Comments Title Block Needs User Documentation Needs new user documentation
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Comments: Make it possible to create a "X replies to post title" heading
10 participants