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

Adding the ability to create new posts (and maybe duplicate posts) from the Block Editor #38554

Open
aurooba opened this issue Feb 6, 2022 · 26 comments
Labels
Needs Design Feedback Needs general design feedback. Needs Design Needs design efforts. [Type] Enhancement A suggestion for improvement.

Comments

@aurooba
Copy link
Member

aurooba commented Feb 6, 2022

What problem does this address?

One of the things I miss about the Classic Editor was the super easy access to the Add New button – because the main menu was always available and because there was a handy little button right beside the header in the Classic Editor, you could easily create new posts. This was very handy when you were creating multiple posts for testing or if you were in the flow and creating a lot of content at once. Once the Block Editor was merged into core, the only easy access possible was if you turned off Fullscreen mode, however, I enjoy fullscreen mode and more than that, I believe the future of the Block Editor is in fullscreen mode, as the Block Editor paradigm is extended to change the entire WordPress dashboard.

The other missing piece of functionality that has never made into core is the ability to duplicate posts. This is not simply something for power users or developers or agencies. The ability to duplicate posts is a fundamental feature of any content creation or design process. That it has never been provided out of the box is bonkers. I would be remiss if I didn't bring that up.

What is your proposed solution?

I think eventually the sidebar that is in the Site Editor is going to come to the Post Editor and more. But I think it should be added sooner than later. I can see that sidebar being ridiculously useful in various ways (especially if there is a SlotFill in there), but to start with, I envision the sidebar having 3 menu items:

  1. Posts – this takes you back to the posts list.
  2. Add New – this lets you add a new post without having to leave the Block Editor view
  3. Duplicate – this lets you duplicate your current post and be redirected to it immediately.

Here is my little in-browser modification mockup with some Material Icons and the traditional Posts dashicon.
Screen Shot 2022-02-06 at 11 14 54 AM


I think in the end, this is an almost ideal solution because although there is that one extra action of clicking on the WordPress icon to reveal the sidebar, it keeps the main editor experience focussed on the current document/content/post, but still provides a more seamless method to do some basic tasks that should, frankly, be easier to do than they are now, workflow wise.

This may be jumping ahead past the roadmap that may have been planned, I don't really know. What I do know is that this is a serious pain point that not only do I have myself as someone who uses WordPress extensively, but I have watched my clients and other end-users deal with constantly.

For the folks who never used the Classic Editor, this is a longer-than-necessary workflow that they can't imagine being different and something just have to deal with. Those coming from different platforms almost always remark on it.

For folks who did use the Classic Editor, this is a straight up frustration and regression (as far as the ability to quickly add new posts) that has existed for longer than it should have. And I for one, would love to see this addressed sooner than later. I am currently in the process of building a plugin that hacks into the toolbar to offer this functionality:

Screen Shot 2022-02-05 at 3 24 14 PM

But frankly, a core solution would be so much better.

@dmpinder
Copy link

dmpinder commented Feb 6, 2022

Definitely agree with this @aurooba! It's such a simple thing but so often used. I love the ability to either add a new post or duplicate the current page, that's a great idea. Would love to see this in core.

@Graphnic
Copy link

Graphnic commented Feb 6, 2022

Totally support this idea. Should have been in core from the start. As pointed out by @aurooba in the issue, the lack of the Add New button is a regression for many Classic users and adds friction to the UX.

The duplicate function would be of equal value to the workflow when building out a site.

@heathergray
Copy link

I would greatly appreciate this being in core. I currently don't use full screen mode right now because there is no easy way to add new posts. Also, I add duplicate posts plugins to almost every installation because they are so incredibly useful but, even with that, it's difficult to access in full screen mode, after editing and updating a page/post.

Having these features as plugins is slightly problematic because they add to the list of plugins that I need to manage, they take very slightly longer to load then core functions, they need to be updated individually and all when they are basic navigation options that help with general UX that I suspect many WP users would appreciate.

I really like @aurooba's solution of adding the sidebar to the post/page screen. On mobile, I noticed that some of the tools in the top left toolbar vanish and only the block selector remains. I don't edit posts on mobile very often at all but when I do, it would be nice if all of the same tools are available. The sidebar also leaves room for more custom tool options to be added by plugins in the future without cluttering up the interface.

Thanks @aurooba for all of your work on this!

@Bovelett
Copy link

Bovelett commented Feb 6, 2022

Having this in the core would take away the last reason why I have to keep resorting to Classic Editor, what a great idea!

@voboghure-dev
Copy link

Absolutely right. While using full-screen mode, it's UX issues to create a new post/page. Also, the duplicate feature is very useful. If it's in the core then I would not install an extra plugin. 👍

@schutzsmith
Copy link
Contributor

Agreed that this would be useful! It's been an issue since the Block Editor was adopted and a gripe from my users across multiple companies/organizations.

To make matters worse, almost every site I've built has pages and posts using the Block Editor while custom post types user the classic editor with custom fields for more specific database type of information. So this means the user still sees the old method of creating a new post when they're in that edit screen and then they inevitably ask why that's not possible in the new Block Editor. Which starts a snowball effect of more questions on quirks and things they don't like about the Block Editor.

If we could at least give the user back this ability, then it would make adoption feel a little more easier.

@heathergray
Copy link

To make matters worse, almost every site I've built has pages and posts using the Block Editor while custom post types user the classic editor with custom fields for more specific database type of information. So this means the user still sees the old method of creating a new post when they're in that edit screen and then they inevitably ask why that's not possible in the new Block Editor. Which starts a snowball effect of more questions on quirks and things they don't like about the Block Editor.

@schutzsmith If you want to use the block editor with CPTs you need to set 'show_in_rest' => true, or set "Show in REST API" to "True" in the plugin. I just discovered that recently.

@skorasaurus skorasaurus added the [Type] Enhancement A suggestion for improvement. label Feb 7, 2022
@paaljoachim paaljoachim added Needs Design Needs design efforts. Needs Design Feedback Needs general design feedback. labels Feb 9, 2022
@annezazu
Copy link
Contributor

annezazu commented Feb 9, 2022

Hi folks! Thanks for chiming in. As you might be aware, the navigation component was scaled back ahead of 5.9. Originally, the sidebar included a ton more stuff including listing out all the various templates, template parts, a page/post section, etc. Here's an old screenshot that showed the previous version where you can then drill down to see everything under each grouping:

111881760-53ea9a80-89b2-11eb-9503-0f3e3d3baa95

When this was the case, I added a feature request for what you described here: #29648 As a result, this is a bit of a duplicate issue. Do you mind if I close this out and you can add to that issue requesting for a duplicate button as well? From what I understand, that might be plugin territory but always good to hash it out (Jetpack has this as an option).

As part of the scoping down, the post/page section was removed but, with 6.0 work underway, there are some new explorations that are worth catching up on that loosely impact a way this interface may involve to include more things in the Site Editor, from navigation to perhaps reusable blocks: #36667

In the meantime, I'm going to try to track down where the Navigation Component (aka the W menu sidebar in the Site Editor) has landed.

@aurooba
Copy link
Member Author

aurooba commented Feb 9, 2022

I.. had no idea it was called the Navigation Component, I think I read something about that somewhere but had no idea what it meant and dismissed it. I think the bigger question I have is when/if the Navigation Component will be added to all the block editor instances? But yes, we can close down this issue and move the conversation over to #29648.

Thank you to everyone who added comments here, let's go ahead and pay attention and add our feedback to the issue Anne mentioned, because I think many of you will agree, that this feature in general should not just come to the Site Editor but to any instance of the Block Editor as well. I would love to see all of you chime in there as the discussion progresses. :)

@schutzsmith
Copy link
Contributor

@schutzsmith If you want to use the block editor with CPTs you need to set 'show_in_rest' => true, or set "Show in REST API" to "True" in the plugin. I just discovered that recently.

Yep, I'm aware and do that for CPTs that I want to have the block editor but I'm talking about when we don't which is most of the time.

We often only use block editor on page and posts but not on CPTs because the CPTs are more about data entry rather than moving content layouts around.

So the user sees that button still available in the classic scenario but not the block one.

@annezazu
Copy link
Contributor

annezazu commented Feb 9, 2022

I think the bigger question I have is when/if the Navigation Component will be added to all the block editor instances?

From what I understand, this isn't in the works currently :) It's intentionally for just the site editing experience. I don't think it's off the table but there aren't designs for it, PRs, etc. Likely something to consider far in the future after the navigation component has become more robust and other tools related to site editing stabilized. Sharing this to set expectations and share where the work is happening.

For now, I'd expect browse mode to take higher priority (it's on the 6.0 roadmap): #23328 Using this mode, you would be able to get to different pages. However, again, no ability to add posts/pages just yet! I'd expect to see that added back into the Navigation Component again farther in the future since it'll be critical to have an intuitive experience there rather than one that confuses the regular menus items for posts and pages in wp-admin.

@aurooba
Copy link
Member Author

aurooba commented Feb 9, 2022

Personally, I think this is a mistake. I respect and appreciate all the work being done on the Site Editor. But this should be considered critical functionality for the regular block editor. Now I feel like we need to reopen this issue, because it's different from #29648

@aurooba aurooba reopened this Feb 9, 2022
@Graphnic
Copy link

Graphnic commented Feb 9, 2022

I agree with @aurooba. While it is improving massively over time, I feel there is still too much friction in the block editor UX for basic tasks, such as this. In the wild, many of us have a short period of time to setup a large number of pages for new client sites. Every additional click and clunky procedure costs us time, and thus actual money.

How do I save this design? How to I duplicate the page? How do I quickly add a page? What does this icon mean? These are all commonly asked questions by clients during training.

@aurooba
Copy link
Member Author

aurooba commented Feb 9, 2022

I want to be clear that while I used the Navigation Component in my "proposal", I don't think that has to be the way this functionality gets added (particularly the add new post part). That was just me taking an idea from an existing pattern and repurposing it here for familarity. The point is, we need a way to (particularly) add new posts from the block editor, without turning off fullscreen mode.

@karmatosed
Copy link
Member

There’s a lot going on here awesomely in this issue. I think it’s important to think about the two mental models first at play:

  • Creating a layout
  • Writing content

They both require different approaches and as such, they do need a different experience to some extent. It is to what extent and how they connect I think is the nuance.

This is an entirely personal feeling, but one of the problems with a lot of page builders for many users I have observed is trying to do everything in one place. It overwhelms and leads to confusion. It’s a case of we think it is useful but it often just doesn’t work because of those different models.

To presume we don’t have different experiences I think might be a little wrong going forward.

I think eventually the sidebar that is in the Site Editor is going to come to the Post Editor and more. But I think it should be added sooner than later. 

I am not convinced we need this in the writing mode. I think the cases mentioned can be solved elsewhere and the editor for writing already has a lot of other left/right panels. I know it’s on the table may be as a navigation component but that doesn’t mean it’s added to all sections, it becomes the menu then - which is slightly different.

I think caution should be taken to merge the designs and experiences directly without thinking about those modes, the connections and the needed difference.

I absolutely agree there are some key features useful which is great. But, perhaps we don’t have to repurpose interfaces working elsewhere for other reasons.

We also need to not presume confusion, it exists but it also changes depending on what the person has experienced. I’ve seen other things confusing in different ways. For example, I think a top selection of adding new page/duplication could really confuse some and add to an already cognitive overwhelming toolbar.

@aurooba
Copy link
Member Author

aurooba commented Feb 10, 2022

@karmatosed thanks for chiming in! Much appreciated.

There’s a lot going on here awesomely in this issue. I think it’s important to think about the two mental models first at play:

  • Creating a layout
  • Writing content

Right, and when you are writing content, it should be easier than it currently is, to be able to create more content.

I think caution should be taken to merge the designs and experiences directly without thinking about those modes, the connections and the needed difference.

I was really just trying to come up with an idea based on the stuff I was already seeing (since the template asks you for a proposed solution, so I just came up with something on the fly), but as I mentioned before, it's not the how I'm particular about (smarter and more knowledgeable UI folks than me are a better fit to figure out a real solution to that), it's that the feature itself is needed. At the very least, the ability add new posts easily. You are completely right that we need to think through any extra UI additions carefully and thoughtfully.

We also need to not presume confusion, it exists but it also changes depending on what the person has experienced.

I'm not entirely sure what this point is referring to and I could be misunderstanding it. I'm not presuming that this is a pain point, I've seen and heard my clients actively complain that this is a pain point, and there have been other folks who have chimed in to say it is a pain point to not be able to easily create new posts from the block editor.


The Block Editor as it stands now is deeply focussed on providing actions for the current content. I think this is great, it's part of what makes fullscreen mode so powerful. You are immersed in the work that you are currently doing, and it helps you get into the flow. I love this. The issue is, for many people, there is quite often a time when they are in the flow and need to create multiple pieces of content in a row, that's when the inability to quickly switch from content piece to content piece becomes a point of friction.

We need a quick way to switch to a different piece of content without leaving the immersive nature of the block editor. I don't think this is an unreasonable request.

Another idea/concept I had was, perhaps there is a hidden menu or toolbar that only shows up when you move your mouse to the edge of the screen or activate it with a keyboard shortcut, that pops out to provide you with a way to easily switch content contexts (obviously we'd need to think of the accessibility around such a feature). I'm currently thinking of the way the Notion sidebar works:
Screen Shot 2022-02-10 at 8 16 45 AM

Or perhaps we need a command palette of some kind limited to the block editor, like how Turbo Admin provides:

Turbo Admin screenshot

These are just ideas from a complete non-expert when it comes to UI – while I can look at UI and consider its implications, I'm not skilled at coming up with UI. What I'd love is if smart people who are excellent at UI would bring some UI solutions to the table to fix this very real problem.

My whole goal with this issue to create traction so this issue gets the attention it deserves – so that people will adopt the Block Editor and find the experience – while new, with its own learning curve – something that can reasonably fit into their workflows. As a developer who constantly advocates for the Block Editor in real projects, sometimes it becomes hard when the Block Editor can't provide something this basic out of the box.

@aurooba aurooba changed the title Adding the ability to create new posts and duplicate posts from the Block Editor Adding the ability to create new posts (and maybe duplicate posts) from the Block Editor Feb 10, 2022
@ALJ
Copy link

ALJ commented Feb 10, 2022

I agree with @aurooba about the value of convenient "Duplicate" and "Add New" functions in the core block editor. I work with a variety of content-production teams, and many of them rely on the ability to quickly duplicate written content as part of their workflow. It can be a little frustrating or confusing for them to not have that ability at hand.

The block editor already has the "Options" menu (the three little dots in the upper right corner) with an assortment of built-in tools. That might be a suitable location for a "Duplicate" function.

duplicate-content

@aurooba
Copy link
Member Author

aurooba commented Feb 10, 2022

What a fantastic idea, @ALJ! I totally forgot about the Options kebab menu. You are totally right. As far as the Duplicate option goes, that's a great place for it to go, after all the Copy option is already there.

Would this menu also be a good candidate for the Add New Post option? 🤔

@ALJ
Copy link

ALJ commented Feb 10, 2022

As much as I want a "Add New ..." function in the block editor, it just feels wrong to me in the Options menu. It feels more correct up in the top area as the old editor had it. But, I understand @karmatosed's comment about overloading menus:

I think a top selection of adding new page/duplication could really confuse some and add to an already cognitive overwhelming toolbar.

I don't have an answer for "Add New...", unfortunately!

@aurooba
Copy link
Member Author

aurooba commented Feb 28, 2022

Okay, so I have been exploring, and look what I found on WordPress.com, I mean, this is great! It felt intuitive and it made sense. Do I think the Add New button should have higher priority and not be at the bottom? Yes. But overall, this is precisely what I was imagining.
Screen Shot 2022-02-28 at 10 27 05 AM

@ALJ
Copy link

ALJ commented Mar 1, 2022

@aurooba good find. For what it's worth, I think you got a lot right on your QuickPost plugin. In my opinion, your plugin's "Add new" and "Duplicate" buttons are way more useful than the core "Switch to draft" and two-click "Preview" buttons.

@LukaszJaro
Copy link

What about having these options as a dropdown in the 'Update' button:

68747470733a2f2f642e70722f692f61657671497a2e676966

source: https://github.com/WordPress/revisions-extended

@aurooba
Copy link
Member Author

aurooba commented May 10, 2022

That's an interesting idea @LukaszJaro. But what if you aren't creating an update but just want to create a similar page? That's a pretty common use case. I also know that the split button design pattern has been discussed for the update/publish button and has been soundly rejected a few times (I can hunt up the issues from 2018/2019 and add them in here later). So I'm not sure that would be welcome now either.

If you did create a duplication, I'm not sure it's intuitive that you'd do it from the update/publish page. It could sit in the kebab menu though. 🤔

@LukaszJaro
Copy link

I believe you on the split button design.

I think the kebab menu, what @ALJ is best place for the duplicate/new post functionality since it already has similar functionality in there like 'copy all content' and the new export function.

I toggled the block inserter a few times already in the very top left to create a new post mixing it up with the front-end UI as you can see they are in almost same spot and use 'plus' icon:

image

So having it in that area is also intuitive.

Maybe a new feature where users can customize certain buttons to either appear in the kebab menu or top left. Or both.

Also if you noticed many plugins add duplicate functionality in admin columns instead but that requires extra step.

We'll see if WP picks this up in the collaboration phase.

@annezazu
Copy link
Contributor

Looping back on this prior issue as work is underway in a PR to add the ability to duplicate posts and pages: #60637 Here's a quick look:

Screen.Recording.2024-04-23.at.1.08.13.PM.mov

Of note, you can test this out and give feedback using WordPress Playground: https://playground.wordpress.net/gutenberg.html

@stokesman
Copy link
Contributor

Or perhaps we need a command palette of some kind limited to the block editor

This is available now and has commands for creating new posts/pages. I suppose a command(s) for duplicate post/page would be appreciated too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Design Feedback Needs general design feedback. Needs Design Needs design efforts. [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

No branches or pull requests