Ever wonder how to convert your WordPress blog into a more automated posting process? One that can accept guest posts, job listings or even a forum-type of blog? Where users can submit a post, save it into your drafts section and all you have to do is approve or deny? The beauty of the open source community is that someone, somewhere had already thought about doing this, and have already developed a solution. With a combination of several plugins and some custom styling, here is how I was able to automate the guest post submission process here in my blog:
First thing you have to do is check the “Anyone can Register” option under “Settings” > “General”. Don’t forget to leave the “New User Default Role” as “Subscriber”.
Lock Down the Registration Process
Now that you have your site open for registration, it is best that you install these plugins first to enable tighter security:
Secure WP – as many options that this plugin comes with to enhance security, what I especially need it for is to disable the error messages at login (which this plugin does very well)
SABRE – stands for “Simple Anti Bot Registration Engine”. This produces that image during registration to block “autobots”.
Limit Login Attempts – the plugin title says it all. Activate this plugin and tweak depending how tight you want login attempts. Note that you’re not going to see any error messages due to the Secure WP plugin.
Hide the WP Admin Panel
So registration is open, security is tight – you still don’t want users to see your WordPress admin area. Not that there’s anything wrong with that – but it just looks more sophisticated when all is done in the front end. Install the following plugins:
Theme My Login – this plugin will generate a page called “Login” – this is where your new login forms (includes new registration and forgot password) will sit. Additional options also include custom emails, redirection and moderation. *Make sure you check “Enable Template Tag” under “Optimization” – You’ll need this in your theme later.
Theme My Profile – plugin created by the same author, which ports the users “profile” page into the front end. Make sure you theme and block admin area ONLY for roles you want.
The following screenshots show the login page, as well as the profile page generated by the plugins that I’ve mentioned:
TDO Mini Forms
We’ve come to the meat of the project. This is the plugin that does all the magic. TDO Mini Forms allows users (registered on not registered) to submit and edit posts to your blog. It comes with its form creator that lets you design the post submission form any way you want. Widgets that let you drag and drop components into your form, as well as a form “hacker” that allows even deeper code tweaking. What I especially liked is that it hooks up with your “Akismet” for spam protection.
After specifying all the configuration settings with TDO, go ahead and create a form with “Form Creator”. The form creator is a somewhat decent drag and drop interface where you grab the widgets in the bottom and drag it to the form. Widget settings are applied by clicking on the settings tab and it brings up the settings window as shown below:
Once you’ve decided on the fields and the settings, you can now alter the code to change the verbiage, along with adding HTML elements in order to be able to style it in your stylesheet. Below shows my contribute form:
Maybe some Custom Code
Depending on your pages – you might need to add some PHP conditional tags and functions to the theme manually. This is to link the new pages to each other. Simply copy your theme’s page.php file and rename it to something.php – convert it into a template by adding the code on top of the page:
Now below the call for the content, add the conditional tag with from the Theme My Login plugin:
The screenshot below shows the custom link to the contribute form that we just created:
All you have to do now is to wait for guest post submissions and depending on the content – simply approve, edit or deny. The submissions are saved as draft posts and are in the moderation view of TDO mini forms:
Now that you have converted your blog into a more automated (and sophisticated) posting process – think of all the possible scenarios you can create. Of course I’m completely aware that my guest posts will not land any successful submissions any time soon – it’s just good to know that it’s available. Not to mention, it was fun to make.