[wp-trac] [WordPress Trac] #37974: Add multi-panel feature to pages through add_theme_support

WordPress Trac noreply at wordpress.org
Wed Sep 7 21:06:29 UTC 2016


#37974: Add multi-panel feature to pages through add_theme_support
-----------------------------+------------------------------
 Reporter:  karmatosed       |       Owner:
     Type:  feature request  |      Status:  new
 Priority:  normal           |   Milestone:  Awaiting Review
Component:  Themes           |     Version:
 Severity:  normal           |  Resolution:
 Keywords:                   |     Focuses:
-----------------------------+------------------------------
Changes (by celloexpressions):

 * type:  defect (bug) => feature request


Old description:

> 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.
>
> [[Image(https://cldup.com/KGmJFgTiG5.png)]]
>
> 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: https://en-gb.wordpress.org/themes/pique/. There's good evidence
> from user testing that currently this is the best option too.

New description:

 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.

 [[Image(https://cldup.com/KGmJFgTiG5.png)]]

 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: https://en-gb.wordpress.org/themes/pique/. There's good evidence
 from user testing that currently this is the best option too.

--

Comment:

 (note: ticket description modified to put backticks around the `//`, which
 was preventing comments from being added to the ticket, apparently)

 I like the concept of a better core solution for multi-part pages. But I'm
 a little unclear on how this proposal would work in terms of content
 structure. Is "Panel Content" a post object, of a particular post type?
 What would the API look like for themes displaying the information? What
 would the UI look like for filling in the actual content here?

 I wonder whether we might be able to accomplish something similar with a
 more straightforward UI if it were based on widgets, and new core widgets
 that supported this type of functionality were introduced. That way we'd
 be able to leverage the existing core UI for adding/reordering/number of
 items/etc, and on a technical level things like selective refresh and the
 work on storing widgets as post objects. This idea is generally related to
 widgets as "content blocks".

 Looking at https://piquedemo.wordpress.com/, being able to make a
 "container widget" that sets a number of columns, title, and maybe image,
 and then lets users add content via additional widget that, for example,
 have fields for image, title, and description, could be worth exploring.
 Or that part could be based on theme support with content being organized
 with widgets. I'm definitely concerned about how this will work across
 theme switches, though, especially for themes that don't support this.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/37974#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list