Useful Resources for Web Designers and Developers

Advertise

here through BuySellAds

Automating the Guest Post Process

April 11, 2010 on General, Tutorials

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”.

auto 1 Automating the Guest Post Process

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 login Automating the Guest Post Process

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:

registration Automating the Guest Post Process

profile Automating the Guest Post Process

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.

tdo mini forms 1 Automating the Guest Post Process

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:

tdo mini forms 2 Automating the Guest Post Process

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:

contribute1 Automating the Guest Post Process

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:

login Automating the Guest Post Process

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:

moderation2 Automating the Guest Post Process

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!

  • Michael Montgomery

    Just what I need ::: THX for sharing ;)

    I’ll work through this later today then give some feedback :::

    • http://www.techblis.com/ Tech Blis

      Thanks for great guide. I wish i do it as i want :(

  • http://www.wave-by-google.com Vince.

    It’s exactly what I need for a project.

    Thanks a lot !

  • http://www.mentalkwomen.com/ Zian Harrington

    Interesting… so, that’s how he does it.

  • http://www.pamidstatemedia.com/ Tom

    This is neat – but a question: When someone guest post (in my case, they will add their business information) – and I publish the post… can they go in later and update/edit that post?

    Best case, they can update for the better… mild case, they post bad or defamatory information… worst case, someone gets their ‘not-so-secure’ password and posts redirects or other bad things…

    • http://fearlessflyer.com Michael Soriano

      yes, it can get dangerous since you’re allowing people to submit stuff. That’s why the need for all the security plugins.

  • OPzzz

    Thanks for this post! It started me on the right track, but I got a problem and was wondering if anyone can help me.

    I want to be able to setup a custom field so that an unregistered user can fill in their name and that will be the name of the author of the post.

    I have searched everywhere… found this post (http://aext.net/2010/01/the-right-way-to-build-wordpress-as-a-community-news/) asked on there and my comment was moderated and removed :( I couldn’t figure out how he did it, even with his instructions.

    He just mentioned to put in (post_author) but I had no idea where or how to do it!

    How can I solve this issue. I want to promote someone being able to submit a guest post and have their author name (and email too) just like comments but for a post that I can moderate.

    Plz help! :)

    • http://fearlessflyer.com Michael Soriano

      Hi Opzzzz,
      an unregistered user will not use the wp user details, therefore you need custom fields. set up the fields first in wordpress – then hook these fields up in the tdo form creator (drag “custom field” from the widgets section). Be sure to allow “unregistered users” to submit entries. I suggest to play around with tdo mini forms extensively to see how much you can do.

  • http://www.washingotndcclub.com Washington DC Club

    Great Article, i have one question. Can i use the form to submit events. Does TDO form have any calendar integration with it.It will be great if they do have it or custom set up for it. any ideas anyone. thank you

    • http://fearlessflyer.com Michael Soriano

      I can see how that can be useful.

  • http://ehackz.best4blog.com eHackz

    Hey very nice Post
    And thanx.. for sharing with us.

    I have tried this on my blog but due to some error in Plugin “theme-my-profile.php” on line 367, I m not able to access my blog now.

    Plz help me wat to do now.
    I will visit again to check ur Reply.
    Plz Reply, Don’t del this comment.

    Thanx….:-)

  • Sergio

    Hi Michael,

    I put on my site the theme Kubrick on crack and when I set 5 posts per page in the second page gets a blank area and if you set the settings to maximum six posts ,the area in blank is on the first page.

    Thanks

    Sergio
    Rj – Brazil

  • http://123aja.blogspot.com JACKS

    i’ll to try ! thanks yah….

  • Jane

    Thanks for the tips, I finally able to use the TDOMF. There’s one question though, when I test to use the form, how come after I click “send” button, the message such as “thank you for your submission…etc..etc..” doesn’t pop up? instead it just goes back to a blank form. I want to at least let the guest know it has been submitted. Please help, not sure if I’m doing anything wrong here. Thanks

  • http://www.pixilladesigns.com Daniel Pantoja

    Holy crap. This is about a kajillion times better than what I did at http://www.elleondejudah.com

    I had the same idea, used Gravity Forms for a simple form that saved in the backend but I still have to copy, paste, etc.

    THIS, Brian is the ninja stuff. Thanks man!

  • http://r6media.com ravi

    thank for this post, i was searching for this type of article.

  • Jacob

    I use Content Submit plugin which has some really cool features built in specifically for guest posting. here is the url http://www.affhelper.com/content-submit-plugin/ You can even charge for post submission and it’s free too.

    • http://fearlessflyer.com michael soriano

      Oh wow. That looks very useful. Thanks for sharing.

  • http://www.storyanda.com Anzur Anuar

    good post bro..

  • http://www.tropik-arts.com/ Décoration africaine

    This post is useful. But the plugin is very complicated to configure.

  • Chiranth K A

    I want my user to upload images and embed Youtube videos in there post. Presently I have Smart tube plugin. Using that only admin can embed youtube videos.

  • http://stardollclique.wordpress.com/ S

    i would like to do this on my site, but im hosted on a wordpress.com site and i dont have the very first option you mentioned on my settings (which are .org options). Is there any other way to this on a wp.com site?

    • http://fearlessflyer.com michael soriano

      depends if they make the plugin for it.

      • s

        i dont think plugins are usable for wp.com

  • http://www.thinkbigonline.com.au SamuelJ

    Wow thanks Michael, very cool. We are opening up guest posting for our site and this looks like a great option, I’m just a little hesitant with the amount of extra plugins required and the potential conflicts as our list is already quite large

  • http://minecraftdb.info/ Andor Nagy

    Hey, I’m following your guide to make guest posting easier on my website but the TDO Mini Forms WordPress Plugin doesn’t exists anymore. Is there any other plugin that can be used?

    • http://fearlessflyer.com michael

      I have read somewhere that gravity forms has the same capability

  • nttoanbrvt