[wp-hackers] Custom widget layout on a per-page basis

aaron at commandmedia.net aaron at commandmedia.net
Sun Jul 15 06:33:35 UTC 2012

Hi all,


I've only been a member of the mailing list for about a week, so I apologize
if I'm breaking any rules of etiquette or if this is off-topic. Lots of
interesting reads going through here. I'm working on a project that poses an
interesting design challenge and wanted to bounce it off some fellow hackers
to see if anyone might come up with a better approach than I have.


We are building a multi-page site of about 100 pages where each page has a
modular design. So there might be 8 pages under category one, and each page
is comprised of a number of modules in a simple two-column layout. The pages
in category two use the same modules, but they might be arranged
differently, there might be 9 or 10 pages instead of 8, etc.


This type of scenario seems well-adapted to the widget functionality in
Wordpress where we can define a reusable chunk of UI that can be placed
anywhere within a "sidebar" region. I can define a custom post type, and
upon the creation of a new page, use register_sidebars() to create the
layout regions for that page. We can then drag and drop our widgets into
each region as we please.


The problem with this is that with a 100+ page site, the "sidebars" we
register will number in the hundreds. So my questions are 


1)      Are there any performance or scalability concerns we should be aware
of on a site with hundreds of widget-containing "sidebars?"

2)      The UI at wp-admin/widgets.php is not up to the task of handling
hundreds of sidebars - any thoughts here about a good approach to creating a
better UI, could we re-use or subclass any part of that code, what would be
the best way to go about this? Is anyone familiar enough with that code to
estimate how hard it would be to include it in a metabox for our post

3)      Perhaps there is a simpler or superior technique for enabling
modular per-page layouts that I haven't thought of?


In general, I'm just looking for ideas and thoughts around the best way to
do this. Thanks!



More information about the wp-hackers mailing list