WordPress.org

Make WordPress Core

Opened 4 years ago

Last modified 10 months ago

#36532 new enhancement

Allow Reordering of Available Widgets

Reported by: mrwweb Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Widgets Keywords: needs-patch
Focuses: ui, administration Cc:

Description

It's common to see sites with 20 or even 30 widgets, even when the site user only needs a few of them:

  • Example 1: Core still ships with Tag Cloud and Meta widgets that I'd guess are barely ever used.
  • Example 2: It's always a bummer that the Text widget starts with "T"...
  • Example 3: Jetpack adds a bunch of widgets, but I often only need one.

Yesterday, I observed a client trying to drag-and-drop reorder the list of Available Widgets. I thought that was a perfectly reasonable thing to try, and realized I would love to do that on every site. This seems even more reasonable considering that a user can already reorder Inactive Widgets.

I considered requesting that each widget be togglable via Screen Options, but I realize this wouldn't quite make sense given that a user could then hide an existing widget type. So among the options I can think of, I think the ability to reorder Available Widgets would be a relatively minor UI change with a potentially large UX improvement!

Change History (4)

#1 @SergeyBiryukov
4 years ago

  • Focuses ui administration added
  • Keywords needs-patch added

#2 follow-ups: @welcher
4 years ago

I like this idea. Would having a filter available in wp_list_widgets() that would pass the current order of widget be enough of a control?

#3 in reply to: ↑ 2 @swissspidy
4 years ago

Replying to welcher:

I like this idea. Would having a filter available in wp_list_widgets() that would pass the current order of widget be enough of a control?

Yeah, the order needs to be retrieved from somewhere and it should definitely be filterable.

Note that there's also WP_Customize_Widgets::get_available_widgets, so this functionality would be needed in both places.

#4 in reply to: ↑ 2 @mrwweb
4 years ago

Replying to welcher:

Would having a filter available in wp_list_widgets() that would pass the current order of widget be enough of a control?

The primary use case I envision is a feature (likely just a drag-and-drop UI) that would be for non-coding admins who want to reorder their Available Widgets, not developers wanting to order widgets for people. That would mean that the Widget order is probably a per-user setting a la Dashboard Widgets.

While a filter felt right to me at first, it might actually lead to a horrible Admin-Menu-like morass of 3rd-party widgets all clamoring for the top Widget spot, soon to be followed by a until-now-unnecessary Widget Humility plugin. Maybe the filter isn't the best idea and we should stick with A-Z ordering that can be overridden by users via the Widgets Admin UI.

I agree that there's ideally feature parity between Appearance > Widgets and Customize, but I also think there's a case to be made that the Admin version would be a natural first place for this feature if getting both in proves too challenging.

Note: See TracTickets for help on using tickets.