At the August Meet-up of the London based wp-hooked I talked on the topic of WordPress Widgets, and in particular the admin area for them (slides can be found here). The talk came from the view of a user (read not developer) of WordPress who wants to take advantage of all the wonderful chunks of code that already exist in the WordPress widgets ecosystem. This ecosystem is a constantly growing one with Widgets being developed and released on the WordPress.org repository all the time. For website users (e.g. site owners, authors, etc) to actually make use of these great blocks of logic it’s not a friendly place sadly. The legacy idea of Sidebars is one that still has a place but it’s the use of Widgets outside of these well-trodden widget areas that things start to get tricky.
Let’s CMS it ALL
Users are wanting the freedom to add widgets into posts and pages as inline content; they want to easily add widgets to footer areas for things such as recent post lists, location maps and recent tweets. All these things are available as widgets but for users are heavily theme-reliant when it comes to how many widget areas are available to them and where those areas are on their site. In my talk (it could hardly be called a presentation) I suggested several plugins that can help users on their way to achieving these things;
- amr shortcode any widget plugin by anmari
- My very own Widgets on Pages plugin
During the talk several other plugins were discussed;
- Dynamic Widgets – Control which widgets to display in the sidebars for pages
- Widget Logic – Control which widgets to display in the sidebars for pages
- Multi Edit – Not really widgety but adds extra content blocks to posts and pages admin screens
- Page Layout - Page Layout allows to define a page layout using widgets
- Carrington Build - A premium build tool which gives an advanced admin “layout” UI which enables users to add “content modules” to pages which could be widgets.
Although all these plugins seem to add some great support to users when it comes to having control of their sites’ layouts and in particular the use of widgets they all seem to be a bit lacking. As a group we discussed what the solution would look like if we were designing from the ground up… especially now that we knew there was a demand to have this extra level of control and advanced use cases… something that the WordPress guys wouldn’t have known about when initially thinking about widgets. We came up with the following points which would hopefully spur on some further thought and potentially create a great solution;
- Users want to add widgets to posts and pages on the fly.
- Do widgets need to belong to sidebars? My personal thinking here is that CPT could be used to replace sidebars altogether.
- Perhaps Widget attributes could be stored in post meta data if that Widget instance belonged to a particular post.
- Having a drag and drop, minimal interface via the editor would be good… we would want to avoid the use of shortcodes. Perhaps in a similar way to the method used for images?
- Users want to easily add widget areas to existing themes
- Users want to be able to control the layout of widgets within their posts and pages.
And so there we have it… we have essentially a loose spec for a killer plugin or modification to core.
And what of wp-hooked?
For my part I really enjoyed the opportunity to vent some frustrations I’d been having personally as well as seeing over and over again in the WordPress.org support forums. It was great to have some expert feedback from like-minded WordPress folk. Once again, of course, thanks go to Emily and Ross for organising and chairing and of course the Dachis Group for hosting us. I’m already looking forward to the Sept ’12 event… what can I say, beer, WordPress and friendly geeks are excellent bed-fellows.