I often feel much of my life has been spent arguing against binary judgements related to technology.1 I’d like to have neater boundaries and simpler discussions but they always seem to get in the way of what I perceive as reality.
I’ve certainly tried to articulate options for content in creation in WordPress before. I tried really hard to have a nice list here that would move you from full-constrained incrementally towards the normal backend editor but the lines kept blurring on me so . . . you get what we have here today . . . which is a failure to delineate, crisply.2
The idea that WordPress authoring is super-easy or needlessly complex is one of those arguments I have repeatedly.
I believe, with varying degrees of effort/skills, WordPress authoring is simply what you want it to be.
It can be tightly constrained, without even the need for an account or even a visit to the backend of WordPress. It can also be fully open with all the options and complexities you could want. They’re both choices with a fair amount of room in the middle for variations. I’ve found a few plugins and/or design patterns that support these choices fairly well.
The Most Structure (fewest options)
Why pursue this?
- you want very standardized template-driven content3
- you want author technology support to be minimal/non-existent
I’ve got a few examples of when form-to-posts has worked for us. In this case, I can move from simpler to more complex.
- BNFO 300 Documents – Biology Course – Simply allowing students to submit documents of various types as an embed so they can comment on them using WP’s comment feature. Really simple but effective enough to bring the faculty member back.
- Student Sociology Article Submissions – Sociology Course – A very, very early model for this kind of thing.
- Gestalt Theory – Art Course – a more visually focused model
- Bicycle Safety Survey – Urban Planning Course – This was a phone focused form to allow for GPS plotted map entries regarding bike safety. It fills in some hidden form fields with GPS data as part of the process. The GPS data is held in a custom field.
- Dichotomous Key – Biology Course – This is a visually driven form that fills in form fields via URL parameters. If you bounce through the leaf choices,
you’ll end up at a page to submit your image. Look at that URL and you’ll see a bunch of stuff in the URL based on what you selected. This is, again, an early model but it does show that you can create some neat experiences for users that structure things but that also feel pleasant.
- Text Sets – EDUC Course – the goal here was to allow students to create units with a very particular structure and then populate those units with particular books (again with a very particular structure). I made this in the early days when I was still fighting programing so it’s pure Gravity Forms and a bit awkward. It does show high levels of structure being possible although we left some holes and you can see that people found ways to do other things or not do things. There’s a mixture of custom fields, tags, and categories driving this.
Lately, I’ve also gone with some front-end editor options. These enable degrees of constraint (you can require elements, set default categories etc) but you can go a bit farther than with Gravity Forms and enable the full WordPress editor options on the front end. You can set these to require a user to be logged in or allow anyone to submit.
I’ve used USP Pro and the Buddypress User Blog. Both enable front-end editing and have options to restrict what people can do. The words used to describe plugins like this are kind of messy though which makes finding and comparing them somewhat difficult. In the scenarios I’ve used these plugins, we wanted to keep users on the front-end and add some minimal restrictions on the metadata/category side of things but give them full access to building multimedia posts (multiple images/videos, WYSIWYG editor etc.).
I’ve talked lots of times about using Gravity Forms4 to create posts. With post body content templates you can make this as structured as you want. Every option could be from a dropdown, checkbox, or radio button. Those elements can be woven together to create a single structured post or different elements broken out as categories, tags, or custom fields . . . or you could use the form to do all of that.
I tend to recommend the Gravity Forms route because it’s the easiest path I’ve seen for people who might not have technical skills or technical support and the plugin is handy for lots of things outside the form-to-post pattern. Gravity Forms also keeps things on the front end and you can enable WYSIWYG editing. I have not enabled a fully functional WP editor with file uploads5 in this scenario nor have I seen it done. I’m sure it’s possible but it’s not plug and play.
I’m becoming more of a fan of this option but it’s still a new plugin for me and one of the rare paid plugins I use.6 I can pretty much do anything I could do in the Gravity-Forms-to-post model (except conditional logic and some of the more form dependent elements) but it lets me offer the full editor/file upload interface.
Custom Post Types
Another fairly major option for changing how people create content in WP is creating custom post types and associated custom metadata.
This is just another path to guiding people when they’re creating content. It also opens up the door to display this content in entirely different ways.7
Some examples of this include . . .
- Blackout Poetry – a custom post type (note the ‘poems’ element in the URL) that enables a certain kind of content creation and associates the subsequent products with the parents
- World Languages OER – This a design pattern that is going to be part of a larger construction of OER materials across our world languages program. Each module/lesson has key elements that will be standard but will have flexibility within the particular component. You can see a portion of the backend layout here and a front end example here. I’ve got a ways to go on the visual elements but it’s pretty functional and provides the structure that the faculty wanted.
I do less of this type of construction because the overhead tends to be higher as I’ve also got to build a way to display that content or include it in the normal posts/pages displays. It is a nice option to have when you want to go to another level of workflow and display.
As with many of these things, a lot of these words are for the convenience of people and tend to be fairly invisible at the database level at least in practical terms. Alan mentioned something along those lines in a comment long ago.
In any case, hopefully I’m showing that WordPress has a huge array of options for content authoring that can accommodate just about any need or level of technology skill.
WordPress is clay. If you keep making bowls, when you want a plate . . . it’s not the fault of the clay.8 Now whether WP is the best path to making that particular item is an entirely different question . . .
1 Another large portion of my life is spent fixing random issues I find when I go to write big posts like this. Seriously. People. Let me know if something is weird/broken. This kills me.
2 And a failure to look up the Cool Hand Luke quote
3 Sometimes this is the very thing that makes the site work as a whole or guides the thinking that you want in a particular way.
4 There are other plugins that do this but Gravity Forms is the one I have many years of experience with.
5 You can upload a file or multiple files but the entwined option isn’t available.
6 Though the price for unlimited sites and no need for a yearly re-up made it well worth $180.
7 Not that you can’t do that based on page templates, categories, and/or tags . . . or any combination of those elements.
8 I’m speaking to developers or those claiming to be rather than random humans although you can get a fair amount of progress through Gravity Forms if you’re willing to think laterally and have the time to mess around for a bit..