For many of the sites I do for clients, the designers will make pages with small pieces of text in various places. For example, the home page will have a headline, a tagline, and a small box with contact information. The about us page will have a main body of text, but then also a side box with a past client quote in it. The contact us page will have a short blurb before the form.
The client wants the ability to edit all of these pieces of text later on. Are pieces such as these what widgets are supposed to be used for? If so, how would I allow the client to update the text later on? It seems messy to make a separate widget area for every static page, and it doesn’t seem like this would allow the client to later edit the text very easily. Would concepts like custom post types, metaboxes, or shortcodes be useful here? I’ve tried many different methods but I’m not satisfied with any of them so far.
Typically you use widgets or custom post types but in reality these solutions can be unfriendly to clients. WordPress still revolves around the idea of a post based loop so doing traditional “content blocks” that you might find in other frameworks can be difficult. Fortunately there are plugins that are pretty good in this area.
I recommend checking out the following two:
http://wordpress.org/extend/plugins/multiple-content-blocks/
http://wordpress.org/extend/plugins/wp-blocks/
my solution to this problem:
edit the template used to display said static page
add code to load the content of a specific page or post using the ID
create a page/post called something like Static Block for Foo page
tell you client to edit that page for the specific block
I did it this way, because it creates the least torment for the user
If you need an example of how to accomplish this leave a comment
actually you would not need to have a custom post type specific here since I would use the page type for it.. like Wyc suggest. I have done it a couple of time and it works smootly. in the specific site side page you just do a custom query of a given page and ‘print’ the specific part. for organisational purpose what I usualy do is children pages.. for example on homepage I can ‘print’ the excerpt of the bio page as a starter.. all works with page system. very easy
you can also use custom meta field if there is not major formatin on the additional boxes.
I have been using the WordPress Creation Kit for this purpose, specifically the Custom Fields Creator which allows you to create any type of meta boxes, including reapeatable ones, for posts, pages or custom posts.