March 26, 2009

How complex, or complicated, does a theme need to be to offer all the possible solutions that you want? I think it is possible to do it very very simply, with only one template page.

There are three widget based plugins which I think provide functionality so powerful that it is possible to create one index.php file with dynamic sidebars in key positions and to use widgets for everything else. Here are those plugins:

Fun with theme widgets

This is one of mine, and by far the simplest and least impressive of the three, but, it provides an incredibly simple way for theme builders or individuals to create their own widgets out of snippets of code.

You can find out more about Fun with theme widgets here

Query posts widget plugin

This plugin by Justin Tadlock is most excellent. It allows you to include a list of posts by selecting the selection criteria. I see no reason why this shouldn’t be used instead of hard coding the page lists into the theme itself. If it supports paging and templates then even better.

You can read more about Justin Tadlock’s Query post widget plugin here.

Widget context

Kaspars widget context plugin adds the option to any widget to choose when it is displayed, i.e. home page, single post pages, when the URL contains certain characters etc. This is the killer plugin as, combined with the two above, it is no longer necessary to create individual post pages. Simply decide which widgets should go where.

You can read more about Kaspar’s Widget Context plugin here.

Presetting widgets

It isn’t a plugin, but any theme using these combinations of plugins and widgets really needs the option to preset some widgets. Ptah Dunbar recently wrote a post explaining how to preset widgets from within a theme so this is a post well worth checking out.

Are these widgets the next step toward the ultimate WordPress theme system? I don’t know; what do you think?



Wordpress feature image page?
24 comments on page 1065

Addsettingsfield?
3 comments on page 793

Shorter link?
4 comments on page 1190

Shorter link?
4 comments on page 1190

Cssimageforlogin?
no comment on page 128

Cssimageforlogin?
no comment on page 128

Get featured image url wordpress?
24 comments on page 1065

How to clear wpcache?
9 comments on page 1310

Photo gallry code html5?
6 comments on page 1305

Wordpress get image size?
24 comments on page 1065

Sitecouk wptheme?
2 comments on page 1376

Wordpress chat disqus?
no comment on page 1308

Howtocreategoodsizelayout?
4 comments on page 1026

Friend connect profile?
6 comments on page 1364

Get medium image from post?
24 comments on page 1065

Tabbed widgets wp?
no comment on page 333

Wordpress pictue cache lschen?
9 comments on page 1310

Wordpress plugin post separator?
no comment on page 1371

Display photos html 5?
6 comments on page 1305

Fun wordpress themes?
2 comments on page 1376

Wp featured image without size?
24 comments on page 1065

Wordpress get url global?
4 comments on page 1190

Wp unlimited?
3 comments on page 1141

Html5 image gallery?
6 comments on page 1305

Wordpress exif plugin?
12 comments on page 230

Css login screen?
no comment on page 128

Htlm 5 photo gallery?
6 comments on page 1305

Image gallery html 5?
6 comments on page 1305

Css login screen?
no comment on page 128

Comments by intensedebate?
7 comments on page 1175

Wordpress andrew rickmann?
2 comments on page 1376

Wordpress medium large?
24 comments on page 1065

Fun with uninstallation wordpress?
53 comments on page 100

How to clear wp cache?
9 comments on page 1310

Photoshop frameworks?
3 comments on page 296

Wordpress post multiple images?
24 comments on page 1065

Html5 gallery?
6 comments on page 1305

Html 5 photo gallery?
6 comments on page 1305

Login screen css template?
no comment on page 128

Html5 photo gallery code?
6 comments on page 1305
  every 2001s, 1s ago, in 0.02s.
 __
(__)
   `
 mercime

Thank you for the post. The idea tickles the imagination. It's do-able in own theme playground but could be stressful for sites to be turned over to clients. Imagine Tools > Upgrade to WP 2.8 or later WP 3.0 and widgets not compatible – egads, calls from irate clients :-) Still, Thx again.

 __
(__)
   `
 Justin Tadlock

I've been considering building this very theme. When I created the Query Posts widget, it was the first step toward this goal. Basically, it was an experiment to see if it was possible to really create a completely widgetized theme.

A very basic structure, maybe some extra code to handle the header stuff, code to handle pagination, a few extra widgets, and the addition of the WP hooks would be all that's needed to make one of the most customizable WP themes around.

 __
(__)
   `
 Will Anderson

This is an interesting approach to be sure. I actually often tend toward the other side, going ahead and creating a custom template page for everything. I feel this makes the code more readable, but I might try something more like this next time I develop a theme. It's a cool idea.


0s