User submitted posts using Ninja Forms 3

Themes & Plugins

Have you seen the new Ninja Forms 3?

The other day I highlighted that I didn't like the new Divi interface. And it has nothing to do with a) I'm dumb and don't know how to use the Internet, b) I harbor some special anger or frustration with the Divi, or c) I'm against all the new “interface-less” interfaces.

The reality is that I think some interfaces are better than others. And one of those great examples is the new Ninja Forms 3.0 interface. I'm sure someone else will not like it as much as I do. I get that. But I like it. (And I appreciate all the work they did, for a free plugin.)

Check it out.

User Submitted Posts are easy with Ninja Forms 3

There are tons of reasons why user-submitted posts could be a good reason for your site. Here are just three:

  1. You've built a site where children are writing posts and you don't want them to get into the entire WordPress interface.
  2. You've built a business site where you want customers to write testimonials for you without accounts or friction.
  3. You've built a directory website where you want businesses to create their own profile entries.

Regardless of your reason, the feature is a common one requested by companies when developers are building their sites. Today I want to show you how I built the feature for my son's blog. He's a young guy who writes short posts. And I wanted an easy way to do it without having to teach him about WordPress again (like I did last year).

Let's get started. Here's his blog right now.

SonsBlog

Install Ninja Forms 3 and some extensions

While Ninja Forms is free, there are a couple of extensions that you'll want to purchase to make this all work the way I'm doing it. Obviously, there are ways to do this with only the first extension listed below. But I like the power of conditional logic and you'll see how I use it.

If you're developing more than your own site, I recommend joining one of their membership plans (I own the Agency plan)—the 50% yearly renewal rate is also really nice!

Here's what it looks like when working

Before showing you how I did it, let me show you how it works. The first part is obviously a page where the form resides. This is where my son can go—without logging in—so he can fill it out and submit it. If he puts in the right code word, a post will be created.

CreatePostForm

Of course, if he gets the code word wrong, there's a message telling him that no post was created because his code word was wrong.

FailureMessage

But if he gets it right, you'll see the post appear on the home page. This is because I configured the post to be published right away. For other uses, you might decide to put the post into draft mode for review.

PublishedPost

Create the Ninja Form

As you saw in the video above, creating a form is really easy. The only thing to note about this form is that I added that extra “code word” text field. The first field is a single-line text control, the next (for content) is a multi-line text control, and the featured image is one of the file upload fields (because I have that extension installed).
NinjaForm

The magic happens in the Actions

Every form you create will likely have some sort of success message. It will likely have an admin email as well – letting the site owner know that a form was submitted. And it likely has a save action. So nothing about those things are all that interesting.

Actions

What I love about the conditional logic approach that Ninja Forms has taken is that I can make the post creation be conditional based on the text of that code word field. Instead of being a conditional control for displaying text, which is what most people do, I can hold up the post creation until the right code word is presented.

ConditionalPostCreation

And of course, I am able to create a second “success message” based on the lack of the correct code word. It's actually the failure message you saw above. And it only shows up on failure. But that's perfect because the user either gets the success or failure message, based on the correct code word.

ManagingErrorMessages

User Submitted Posts

I just want to end with one last example of user submitted posts and how powerful they can be. Head over to purchase something at Amazon. Pay attention to how you evaluate products. Do you read all the technical details of each product? Or do you scroll down to read all the user submitted reviews?

Me? I read the reviews. That's the power of user-generated content.