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.