CMS: Making complex pages editable by the end user

Your question is quite interesting because (as I understand it )it addresses a very important aspect of coding – Planning .

And planning a good structure requires a well established knowladge about the platform you are using.

The question ( again – for my understanding ) can not be answered by code but more like a consideration of the methods . ( well – it can be answered by code – but it will almost be a small wiki or codex like page as it should cover a LOT if not ALL of wp aspects )

There are many ways of achieving such a structure and building such a theme .
The ones you have described are valid.

I am not a fan to custom post types, although I see the benefits for the end user .

custom post types would be another method – also an overkill IMHO but very user friendly.

Non of these methods are “better” than others – it really depends on your needs, your skill as a coder , and the skill of your user .

The same can be achieved in another way ( and I have done so before ) with simple posts that are divided to categories ( one for slider, one for clients, one for testimonials etc )

To sum it up – 6 methods come to my mind now ( not in any particular order ) :

  • 1 Widgets

  • 2 Custom post types

  • 3 Simple division by categories

  • 4 Custom fields ( I really do not like the abuse of them, but whatever. a valid method )

    • ( 4.1 Meta boxes – in parenthesis becasue only interface to 4 )
  • 5 Direct Custom queries

  • 6 A simple admin page ( or “theme options” page )

( the list will be updated if anything else comes to mind ..)

Maybe the

some basic WordPress feature that i’m not understanding here?

The custom_post_type() is probably wha tmany people will tell you that is the part you have missed.. but mostly IMHO because they have seen it on so many tutorials .

For each of the above mentioned list there is an endless list of plugins, classes, frameworks and helpers – which is by itself a wiki – page of it´s own .I will only drop a quick links to the 6th method – HERE – because it is easy , but I would like to avoid linking for all the others also to avoid a useless debate of what is best ( answer : there is no “best” ).

At this point – GIYBF.

I actually answered this question because 3 hours ago I just finished to code a theme just like the one you showed .

In this particular case , I have Chosen the widgets as a method – and all the site administration is done in ONE place – the widgets area . Very easy to build , Very easy to maintain, very easy to update – and no code juggling is needed .

But I must stress again, That all the methods are valid .

I can not recommend one over the other .

I have used them all .

All work.

All have their own particular niche they fit in.

The rest is just personal preference ( both client and coder ) and semantics.