There are several ways to display a newsletter subscription form within the content of your WordPress post.
Using a plugin. You can display an opt-in form with the help of a WordPress plugin. After you’ve configured the plugin, all you have to do is insert a specific shortcode when you’re writing your post. The shortcode will be replaced with your form and that’s it.
Using the code given by your email marketing provider. This is simple–just create an opt-in form with the help of your email marketing service provider and copy/paste the code into your WordPress post.
By editing template files. This is a convenient way to implement the opt-in form, especially if you want to display it on all of your WordPress posts. You just edit your template file once, and the form will be displayed on all posts.
Let’s look at each method in more details.
Using a Plugin to Display a Newsletter Subscription Form
There are several plugins that can do this. Some are free and made specifically for this task, others are extensive and go beyond a simple in-content opt-in form.
One good and free choice is Danny van Kooten’s Newsletter Sign-Up plugin. It has pre-configured support for MailChimp, YMLP, AWeber, iContact, PHPList, and Feedblitz. But it is possible to get it to work with other providers. I tried it with Campaign Monitor and GetResponse and it worked fine.
Once you’ve configured the plugin, all you have to do is insert the shortcode [newsletter-sign-up-form] when you’re writing your post and the shortcode will be replaced with an opt-in form.
Other plugins that work like this but do much more are the Subscribers Magnet and WPSubscribers plugins. In addition to in-content opt-in forms, these plugins can do popup opt-in, footer bar opt-in and more.
Use The Code From Your Email Marketing Provider Directly
You can also just copy & paste the code given to you by your email marketing service provider directly into your post. The problem here is that if you use WordPress Visual Editor, it will mess with your raw HTML. You will have to switch to the HTML editor before pasting your code.
Here’s an actual opt-in form I made with a GetResponse free account and, as you can see, it’s embedded within the content of this post:
I simply created the form in GetResponse’s form generator, copied the code, and pasted it into the HTML editor of WordPress.
If you don’t want to use the HTML editor, you can utilize a custom shortcodes plugin. Basically, you put your opt-in form code in a shortcode and then just use the shortcode whenever you want to display the form.
Embed an Opt-in Form By Editing a Template File
Last but not least, you can show an opt-in form within your posts content by hardcoding your WordPress template file. You would use this method if you want to show your opt-in for on every single post on your site.
Here’s how to do it.
WordPress uses single.php to display a single post page. Insert the HTML of your opt-in form right below the <?php the_content(); ?>. With that, your subscription form will be displayed on all of your posts.