Make WordPress Core

Opened 7 years ago

Last modified 6 years ago

#37974 closed enhancement

Add multi-panel feature to pages through add_theme_support — at Version 1

Reported by: karmatosed's profile karmatosed Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Themes Keywords: has-ux-feedback needs-patch
Focuses: ui Cc:

Description (last modified by karmatosed)

Making a multi-panel page and giving users the ability to chose what content is in those sections this is something people really want. There are a lot of methods to do this, from plugins to within themes. As a result, there's a lot of confusion for users.

At Automattic, we've now done this in several themes through a 'Theme Options' section. In this ticket, I am suggesting a way that this comes back to core.

Before I dive into this suggestion, I will say that I think there are absolutely other ways. In the long run I would also love to see content blocks make this feature obselete. But, this option is user tested. This is the best, proven method for users to get this. It also should be a lot less difficult and more time efficient to achieve. I'd love to see this be part of this release.

How would this happen? Lets look at a flow suggestion.

  1. There is a new section under the Customizer called 'Multi Panel' - we totally should come up with a better name.
  2. You can click in and see each panel here.
  3. You then from those panels can click in and add content to the panels.

Stepping through that this in code would appear something like this:

  1. add_theme_support(multipanel-page, 4);

4 being number of panels and unlimited being the default.

For simplicity I am just suggesting it's a simple add_theme_support. We have past precedence for this. Then you'd get the new section in Customizer appear. I also suggest this gets made as a feature plugin porting pretty much all of the existing code. At least this makes sense as a first step.

Template wise, we probably want a consistent naming for this or to have people able to declare a template page. It could then have that page used as a static page, or just be used. You could either use one wrapping content for all or call each panel (if set numbers) and style each differently. This opens up to some flexibility with layout.

This type of multi-panel page can be seen already live in themes like Pique: There's good evidence from user testing that currently this is the best option too.

Change History (1)

#1 @karmatosed
7 years ago

  • Description modified (diff)
Note: See TracTickets for help on using tickets.