[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