WordPress / gutenberg

The Block Editor project for WordPress and beyond. Plugin is available from the official repository.
https://wordpress.org/gutenberg/
Other
10.51k stars 4.2k forks source link

Tracking: Feedback on Query Loop Block settings #31158

Open annezazu opened 3 years ago

annezazu commented 3 years ago

What problem does this address?

As part of the fifth call for testing for the FSE Outreach Program, the following feedback was shared highlighting how confusing it is to have mentions of pages showing when working with posts:

Should Max page to show read plural Max pages to show? Items per Page doesn’t make a tonne of sense in a context where you might be adding multiple query blocks to a given “page”. We should consider calling this “Items to show” or similar.

This confusion led to not understanding how to use the setting itself as it's unclear what this setting actually controls particularly when using the Query Block to display posts:

I couldn’t work out how to make Max page to show work at all. I assume there’s a way to get pagination to show up? It wasn’t clear.

What is your proposed solution?

A few proposed solutions:

I'm also a bit confused as to whether this setting somehow impacts the Pagination Block and if we should note that one needs to be added.

Pending issues

annezazu commented 3 years ago

More feedback on this setting as well from the tenth call for testing for the FSE Outreach program:

When selecting ‘Display settings’ one can set the number of items per page. But actually you pick the number of items in the column if you choose a layout with multiple columns. May be easier to understand if ‘items per page’ would be renamed to ‘items per column’ or something similar.

Seems like the safest option might be saying something like, "Items per query" or something similar.

ntsekouras commented 3 years ago

I commented in the post by I think the above feedback refers to Offset Query Loop pattern that has two Query Loop blocks inside a Columns block.

annezazu commented 3 years ago

That's correct!

sereedmedia commented 2 years ago

Per @annezazu's request to post my feedback here:

I feel that language like “Inherit query from template” is part of the problem for consumer adoption and provides some of the confusion over who FSE is being built for. The average WordPress developer knows what a "query" is or what "inherit" means. The average WordPress user does not (in my experience, which is, admittedly, primarily American). They may of course know the word in other contexts, but IMO the friction of having to reason that out is the difference between developer-focused language and consumer-focused language.

I don't have a specific suggestion for that phrase, but this is something I see throughout FSE. A lot of the language could be simplified or revised/standardized (e.g. calling the block inserter the "Block Panel" or "Block Inserter").

Ideally the language throughout the Site editor could simplified with more context (for the original example, it could be something like "Use the same content request this template is using".)

A further example: Currently there are tool tips, but the tool tip is the official language.

It could be that the tool tip was more focused on the user action rather than the technical action (e.g. "Add a block" or "Open Block Panel" vs. "Toggle block inserter").

TL;DR Developers can effortlessly understand simpler language, but beginning/non-dev users cannot effortlessly use the more formal, code-based language. If the goal of FSE is to be useable for non-dev users, then the language needs to reflect that.

annezazu commented 2 years ago

Agreed on the complexity of the query loop block. The intent has been for it to be a more advanced user/developer tool but, until Query block, Latest Posts block and Post Lists block are consolidated to provide better alternatives for end users, we're still going to run into this exact confusion: https://github.com/WordPress/gutenberg/issues/32332 I'm going to see if we can get this emphasized more in the latest query loop block tracking issue: https://github.com/WordPress/gutenberg/issues/41405#issuecomment-1191007597

noisysocks commented 2 years ago

Would love design input on a solution here.

annezazu commented 2 years ago

@WordPress/gutenberg-design for good measure :)

jameskoster commented 2 years ago

I still think the long term solution here is to make Query Loop a template-only block (that always inherits), and that we should provide contextual variations for registered post types. This simplifies everything by not forcing the Query Loop UI to entertain both use cases.

michaelpick commented 3 months ago

Thanks for inviting feedback on this, @annezazu! Francisco and I took a look and have shared a few ideas below. Happy to follow up on anything below or otherwise! As it’s quite an expansive block, let me know if there are any specific areas you’d like us to take a closer look at!


Initial state

Screenshot 2024-07-25 155937

I think there are a few things we could possibly improve here:

On the copy side, if UX changes aren’t ideal for now, I’d suggest the next best thing would be better signposting and expectation setting:

Start blank screen

Screenshot 2024-07-25 160015

If the user clicks the ‘Start blank’ option, they’re presented with 4 variations to begin building from, directly in the editor:

From a UX point of view:

From a copy point of view:

*If 'posts' isn’t all-encompassing enough, we could swap out for ‘content from around your site’

In-editor settings

Screenshot 2024-07-25 160043

UX and copy collide somewhat for this one, and lots of the feedback shared previous was around the choice of labels here.

Suggestions for potential alternatives:

Current supporting copy: ‘Limit the pages you want to show, even if the query has more results. To show all pages, use 0 (zero).’

Suggested alternative: ‘Set a maximum number of items to display. Enter to 0 to show all available items.’

Inherit query from template toggle and other sidebar items

Screenshot 2024-07-25 160124

This is another one that came up in feedback above.

Current copy: ‘Inherit query from template’

Suggestions:

Post type

Current copy: WordPress contains different types of content and they are divided into collections called “post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.

Suggested variations:

Sticky posts

Current copy: ‘Blog posts can be “stickied”, a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.

Dropdown menu options: Include / Exclude / Only

Suggested variations:

Force page reload

Current copy: Browsing between pages won’t require a full page reload, unless non-compatible blocks are detected.

Notes: I’m unsure if this means between items within the block (vs. pages), or specifically pages? It’s a bit odd to have the section title and description describe opposite things, so it would be better to align them. I’d like to understand why I would use this, though, to better convey that.

Potential variation (pending discussion of above): Reloads the page when browsing between pages of items. This can help with incompatible blocks. ((<-- Is that the reason?))

Filters

Screenshot 2024-07-25 160238

I wonder if this section would be clearer with a couple of tweaks?

Suggestion 1:

Filter by:

Suggestion 2:

Filters


Let me know if we can clarify, expand, or iterate anything! Hope some of this helps!

jameskoster commented 3 months ago

@michaelpick this is great, thanks for your feedback and suggestions.

There's some activity around updating the 'Inherit query from template' and 'Force page reload' controls, it would be great to get feedback in these specific issues:

michaelpick commented 3 months ago

Hi @jameskoster, and sorry for the late reply, I was out for a few days. I'll take a look ASAP!

afercia commented 1 month ago

On https://github.com/WordPress/gutenberg/pull/65524 a suggestion was made to use this issue as a Tracking issue for the Query Loop block. I'm going to edit this issue title and description accordingly.