I’d like to be able to add a template for a page that will present pages with similar data in the same style. For example, I want to be able to create a “Person Profile” template so that all personal profile pages have the same look and feel.
Currently, the way I might do that is copy and paste a set of <div>
tags into different pages and update my style.css file to handle the custom classes in the <div>
tags. While this convention would work, it requires anyone who adds content to be able to understand how to insert their images and text correctly between the <div>
tags.
What I would really like is the ability to have someone fill out a simple “form” and then take that content and display it in a templated way on the site. For example, there’s might be a form like this:
1. Image: _______________________________ [Browse]
2. Person's Name : ______________________
3. About this Person: ___________________
[Save] [Cancel]
I’m thinking that this problem has been solved by others using WordPress, but I don’t know where to look to solve this problem in a way that can be easily maintained.
If it is a strict structure, you might be better off creating a custom post type. You would then store the name in the title field, the image as the featured image, and the “About” would be the main content. If you need extra information, you can use custom fields (with a plugin to style them).
Let me suggest you consider Gravity Forms ($39 per server) which will allow you to create great forms on the front end (there may be some good open source form packages but I’m not too familiar with them) and then use @Jan Fabry‘s suggestion of a custom post type with Gravity Forms routing content to your custom post type when users enter the data.
Here is a link that can help you with custom post types:
Write a custom plugin, use custom post type and use on this type the content of templates. You must reorganized the wpautop() adn add shortcode function. So it is possible to use a shortocde and a template tag to use the content from a template.