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:
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:

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:
1 2 3 4 5 | <?php /* Template Name: something */ ?> |
Now below the call for the content, add the conditional tag with from the Theme My Login plugin:
1 2 3 | <?php if ( is_user_logged_in() ) {?> <div >I bet you would like to submit a Guest Post. Click <a href="yourwebsite.com/conribute">here</a> to access the contribute form. </div> <?php } ?> |
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:

Conclusion
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.
Let’s not forget to donate to the plugin authors!







