CMS: Making complex pages editable by the end user

I have been tasked with re-creating a small-ish corporate Web site (maybe a dozen static pages and a blog section) using WordPress. I have no troubles with the actual Web design, nor with the PHP itself. However, i am struggling to figure out how to set it up so that end users can edit the static pages with more complex layouts without HTML knowledge.

For instance, the front page of this site will use the incredibly familiar pattern of a Jumbotron/slider at the top, three little ‘highlight’ boxes below that, and then a few distinct sections running down the remainder of the page, probably with images floated to alternating sides. (Kind of like this.)

All of these components are actual content, so they need to be easily editable by the user. When a new version of the product comes out, they need to be able to change the headline in the Jumbotron, to describe the new features in the little highlight boxes, to update the alternating images in the sections, &c.

The methods i have considered include using either widgets or something like Advanced Custom Fields to create separate editable areas for the Jumbotron, &c., but these don’t seem very robust or elegant. I have also looked into using shortcodes to create simplified wrappers around these page components, but WordPress has a thousand little bugs that screw with the contents of shortcode blocks (extraneous line breaks, stray opening and closing tags, &c.).

I have seen WordPress sites that use page structures like i’ve described, but i haven’t been able to find any free themes/plug-ins that show how they manage it. Are the methods i mentioned above what these sites generally use, or is there some basic WordPress feature that i’m not understanding here?

1 Answer
1

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.

Leave a Comment