-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Include homepage in page lists when set to display latest posts #60772
Comments
I noticed an item in #59659 which describes a "Utility" view which includes 404 and search results. That seems like the path of least resistance here, and avoids mixing record types in a single view which can often lead to awkward experiences due to incompatible fields. |
Yup, I think that can definitely work. The |
Personally, I'm not sure we should be showing another data view for utility pages. There will be a lot of small issues like what happens when you click "back" on these pages, if these have a canonical url, you'll probably be back to the "templates" page.
I understand the reasoning behind this: "Templates" is too confusing for regular users and they consider these as "pages" but I'd argue that trying to hide this distinction is in fact more confusing sometimes. So I wonder, how can we measure this? How can we ensure that it's actually solving an issue rather than adding more confusion. For me it feels like a half baked solution: I think if we are to merge templates and pages, we should merge them fully (in the UI I mean) :P |
I would support that, but wouldn't it create technical issues? Templates and Pages do not share all fields, so how would things like sorting & filtering work? |
Yes, indeed it's complex maybe it's fine to keep them separate like "static pages" and "dynamic pages" but my point is that we shouldn't have templates both in "templates" and "utility pages". |
It may not be ideal, but to your point about confusion there are a couple of hints in the UI that indicate these are special/different to regular pages;
Alternatively we could be more explicit; name the view "Page templates" and also include templates like In any case, as it stands this could arguably be called a regression from 6.5. It's hard to say how often folks are using the existing shortcuts, but I'm a little anxious about removing them entirely. |
With WordPress 6.6 Beta 1 targeted to be released in less than a day - Editor Triage Leads will move this to |
I don't think this is material for a point release? Also how is this both an enhancement and a regression? |
I updated this issue to concentrate solely on the "homepage set to display latest posts" issue(s). |
@youknowriad Noodling on this a bit, here's a potential design:
|
Stripping the above back to an even smaller change; surfacing the latest posts page in the pages data view:
cc @WordPress/gutenberg-design @youknowriad for feedback. |
Can work. I wonder if that gray "homepage" chip can become blueberry with white text when the row is selected? And can/should that same chip be integrated in the description area on the right in the editor too? |
I want to mention that technically is a bit too complex to that the point that I wonder if it's worth it. It's doable but without issues / bugs / big changes. Basically we'll be showing two separate "entities" in the data views.
|
Yes this issue brings into stark focus the complexity burden that the template hierarchy places on users 🙃
I just want to re-iterate the problem, to make sure we're agreed that something needs to be done...
In regards to the questions, the idea was to 'hard-code' a Does that make it sound any more (or less) feasible? |
You say in the "database", what does that mean. Actually create a page object? This is not how things work, today there's no "page" in the database, so the endpoint to fetch pages... don't return anything. If we are to force the presence of a page object in this case, we need IMO to create a trac ticket and discuss what that means for the WP framework (storage, when to create a page, is it always present when you install WP, what's the impact on the different php functions...) |
Yes, I appreciate I am trivialising 😭 Let's continue to explore other design options. Perhaps there's something we could do with the Navigation section to surface the homepage when set to display latest posts. That could make it more easily accessible in the site editor, but obviously require some re-imagining of the Navigation section. It wouldn't solve the confusion around why this page doesn't appear in the page management view, but perhaps a more polished Navigation section would make that issue less prominent. What do you think @richtabor ? |
To be honest, For me, it makes sense to always have a page set as "posts page" and that the WP settings would be about setting another static page as "front page" or "home page". I suspect that this is a bit easier to understand for user but this would be a change that is a bit more "fundamental" and not something that can be driven from the UI side only. |
That sounds very much like what has been suggested. IE on a fresh install there is a page object associated with displaying posts. In reading settings there would be one dropdown in the homepage control, no more radios: Additionally:
Or are you suggesting there could be a way to do this without registering the page object for latest posts? |
@jameskoster yes, it's the same, basically I agree with you that this flow sounds great. The problem is that it's challenging and it's better addressed in Core (and not in Gutenberg) |
Yes, this is interesting.
How do we tackle this? |
Technically you mean, I have no idea. |
What's the best way to frame the trac ticket? I'm trying to boil this down to the bare essentials which is obviously quite tricky as it touches a lot:
|
@jameskoster Thanks for pinging me on #64620, great to find the conversation here! Leaving some feedback based on how I understand what's being discussed:
In terms of backward compatibility, I could see something like this work:
Curious to discuss this further, and FWIW I'd be happy to support this from the Core side. |
Related to #64620 (reply in thread), I wonder how we would handle block template rendering for the This is strange UX though. So I wonder if what's rendered on that page could be tied more directly to the page itself. For example, if you want to use the page to render the blog, you can do so by having it render a relevant |
The idea was to simplify the UI/X by only having a single control; "Your homepage displays: Tracking If you wanted your blog to be the homepage you'd just mark it as Do you see any pitfalls to this approach?
Rather than adjusting the template behavior, a unique edit experience for Deprecating certain templates is an interesting idea and probably worth exploring, but it seems trickier to handle so likely a bit further off in the distance.
Thank you ❤️ |
I think there's one crucial problem with the approach: Not every site needs or wants to have a blog. So it would not be right to create a Maybe a separate control is not the right way. But this scenario of not having any blog needs to be easily possible. Potentially we could solve this in a smart way, maybe automatically have a
Awesome, I'll take a look.
I'm not sure how tricky it really is, but I get the sentiment. That said, I do think we should look at this with the long-term vision in mind and not focus on another solution just to avoid deprecating templates. What I mean is: If deprecating a template is what it takes to get the ideal solution, we shouldn't shy away from it in favor of a different path. |
Oh I agree 100%. To clarify; if the proposed changes were implemented, you'd remove the blog by setting the homepage to display a different page first, then simply delete your It also means we could further tidy up the reading settings UI by conditionally showing/hiding options like "Blog pages show at most" based on whether
Fair point, I agree we should explore all options. |
That makes sense to me. Follow up question: How could a user get back a blog if they changed their mind?
Great idea, potentially. I'm not entirely sure though whether these options are only used for the blog. There are all kinds of other archives in WordPress that are unrelated but may still use those options, so we need to consider that. |
The default configuration for the majority of WordPress sites is to display the latest posts on the homepage. However, the current edit flow for this setup is awkward and confusing for most users.
Identifying the Problem
The initial challenge in the edit flow is simply finding the page. Since the homepage displaying the latest posts is not technically a
page
, it does not appear in the page management interface (pages data view). This discrepancy means that users are directed to an area that does not support the editing task.There are two primary pathways to edit the homepage in this scenario, neither of which is ideal:
Once users navigate to one of these pathways, they encounter a template editing context filled with confusing titles such as "Blog Home" or "Index" and technical descriptions like, "Displays the latest posts as either the site homepage or as the 'Posts page' as defined under reading settings. If it exists, the Front Page template overrides this template when posts are shown on the homepage." This environment might be clear to seasoned theme developers, but it can overwhelm average users.
Proposed Improvements
To improve the user experience, I suggest the following changes:
show_on_front
to always bepage
(or maybe deprecate this option altogether)page_on_front
,page_for_posts
Original issue
### The problemIn WordPress 6.5 the "Pages" panel in the site editor includes links to edit special 'pages' that resolve to display templates, specifically:
For WordPress 6.6, this sidebar is being replaced with the "List" layout in data views:
A consequence of this replacement is the loss of those aforementioned links.
Continuing to provide shortcuts to the 404 and search results templates seems useful, but it's probably most important to provide access to edit the homepage when set to display latest posts.
A solution
A 'Utility' view accessed from the footer of the Pages sidebar could include any templates users often consider to be pages, IE:
In the future this could be expanded to include general archive templates like
category
,tag
,author
, etc. and any taxonomy-term-specific templates e.g.category-recipes
,author-admin
.The text was updated successfully, but these errors were encountered: