=== Simple Subscribe === Contributors: Dabelon, wenzhixue, tanaylakhani Donate link: http://donate.latorante.name/ Tags: subscription, subscribe, e-mail subscript ion, email subscription, simple subscription, digest, post news, post e-mails, e-mail newsletter, newsletter Requires at least: 3.3 Tested up to: 4.2 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Stable tag: 2.0 Registration form that's easy to use, friendly and powerful. Automate user growth and revenue with ReadyGraph integration. == Description == Check official website for live demo http://plugins.readygraph.com/simple-subscribe/ * [Live demo](http://plugins.readygraph.com/simple-subscribe/) * [More Description](http://plugins.readygraph.com/simple-subscribe/) * [Suggestion/comments](http://plugins.readygraph.com/simple-subscribe/) Simple Subscribe is the only bulletproof secure plugin, that is easy to use and developers friendly as well. It gives you the power to simply add subscription form to your Wordpress website, as a **widget**, **shortcode** or using php in your template codes. This plugin has integrated [ReadyGraph](http://readygraph.com/), an optional set of features to automate the growth of your userbase. It helps you achieve the three goals of any web marketer: maximize conversion of site visitors to register for your email list, maximize viral referrals for your site, and maximize return visits to your site. To accomplish this, we have integrated a key set of growth features with this plugin: - Intelligent signup popup with email or one-click Facebook login - Full viral referral flow - Automated end user re-engagement emails including welcome emails, weekly digest, friend joined alert and more (all email campaigns are optional and configurable) - Enhanced email deliverabilty - Cloud-based analytics and data storage - Settings that allow you to turn on and off all ReadyGraph features. Subscription form can gather more than just e-mail address, you can select additional fields like name, location, age and interests. All the subscribers can be exported into **.csv**, **.xls**, **.tsv** or **.xml** format and used anywhere else, in fact, you can even select to export by criteria **active**, or **inactive** or simply **all**. Your subscribers have the option to unsubscribe in each e-mail digest they receive, or you can put unsubscription form on your website. As of now, all use HTML template, and the new post digest uses short excerpt, with post title and post featured image (if there is any). In future I plan to add different e-mail template options (see below in road-map). Your digest email can contain your favourite social media links, just set them up simply in the admin, and they appear automatically in the e-mail. You can even try sending a post digest only to yourself, so you can see what it looks like, the option is Admin > Subscribers > Settings, on the right hand side. All Wordpress registered users have the option to subscribe simply in their Wordpress profile, by checking *E-mail subscriptions* in **Personal Options** section. Forms have both client / server side validation and they are literally bulletproof. There plenty of other features you will find "on the run". **New** you can change the look of the e-mail digest, colours, type etc. and contact all your subscribers directly with your own Subject and Message right from your Wordpress dashboard. If you are a **Developer**, what you're looking for is [here.](http://wordpress.org/plugins/simple-subscribe/other_notes/ "Developer's Guide") = ReadyGraph App = ReadyGraph is a system that automates the growth of your site’s userbase. It is optimized to deliver audience growth and motivate users to consistently revisit your site. = Optimized Signup Form = ReadyGraph’s signup form with intelligent pop-up functionality and one-click login is designed to maximize signups to your email list. You can configure when the popup appears so as to maximize the likelihood that the user is engaged enough to register for your list. = Viral Friend Invites = ReadyGraph adds a friend invite process to your site’s signup flow. We then power the entire viral loop by sending email and Facebook invitations that encourage your visitors’ friends to signup for your site. = Automated Re-engagement Emails = ReadyGraph’s automated email system encourages visitors to return to your site. Users receive optimized emails such as a welcome email, re-engagement email, regular digest with new content from your blog, and social emails. All emails are configurable including the ability to turn on and off individual campaigns. We handle all sending to maximize deliverability. = Analytics = Track daily-new subscribers, daily invites, total traffic, and other key metrics that quantify growth and user engagement. ReadyGraph safely stores user data in the cloud so you can access data from anywhere. = Newsfeed = ReadyGraph’s newsfeed is an optional overlay on your site where your users can engage with others in your community and recommend your content or products to each other. It is like having a social network that engages users embedded on your site. Users can leave comments, ‘like’ comments left by other subscribers and ‘follow’ other subscribers. Subscribers will receive automated email updates based on these actions. = Content Voting and Ranking = ReadyGraph allows your subscribers to vote on your latest content. The top content from our network of sites is then ranked on UserBase.com by the number of votes that it has received in the past 7 days. = Want To Grow Even Faster? = Try [ReadyGraph premium](https://readygraph.com/accounts/payment/) for free to get these advanced features: 1. Monthly Promotion to 10,000 New Users 2. Unlimited New Blog Post Emails 3. Unlimited Viral Email Invites 4. Unlimited Facebook Invites 5. Many more premium features added all the time [Get it here!](https://readygraph.com/accounts/payment/) If you have questions or concerns contact us anytime at [info@readygraph.com](mailto:info@readygraph.com) = Requirements = 1. Wordpress at least version 3.3 1. PHP at least version 5.3.1 1. Working e-mail functions on your server == Installation == Installation Instruction and Configuration can also be found at [Installation Instruction and Configuration](http://plugins.readygraph.com/simple-subscribe/installation/) = Automatic = 1. Go to your admin area and select Plugins -> Add new from the menu. 2. Search for "Simple Subscribe". 3. Click install. 4. Click activate. 5. Enjoy. = Manual = 1. Go to [http://wordpress.org/plugins/simple-subscribe/](http://wordpress.org/plugins/simple-subscribe/ "Simple Subscribe") 2. Download latest version of Simple Subscribe. 3. Unzip file into Wordpress plugins directory or install zip via upload in admin plugins page. 4. Activate plugin. 5. Enjoy. == Screenshots == 1. Simple Subscribe Settings Page. http://plugins.readygraph.com/simple-subscribe/screenshots/ 2. Listing of subscribers with export options, and form to add new subscriber thru admin. http://plugins.readygraph.com/simple-subscribe/screenshots/ 3. Wordpress registered users settings in their profile. http://plugins.readygraph.com/simple-subscribe/screenshots/ 4. Subscribe Widget http://plugins.readygraph.com/simple-subscribe/screenshots/ 5. Subscribe Widget Invalid Form Values http://plugins.readygraph.com/simple-subscribe/screenshots/ 6. Subscribe Widget Invalid Form Values II http://plugins.readygraph.com/simple-subscribe/screenshots/ 7. Subscribe Widget Valid http://plugins.readygraph.com/simple-subscribe/screenshots/ 8. E-mail template options http://plugins.readygraph.com/simple-subscribe/screenshots/ 9. Log messages http://plugins.readygraph.com/simple-subscribe/screenshots/ 10. Mass e-mail message http://plugins.readygraph.com/simple-subscribe/screenshots/ == Developer's Guide == = Intro = Apart from being able to use **widgets** and **shortcodes** in your Wordpress installation to display subscription and unsubscription forms, as a developer, you sometimes need more methods of controlling your content and theme behaviour. But before we jump on php examples, I'm gonna list styling used by this plugin so you can amend the look of forms and messages in the front end. There's a stylsheet with some styling for these form included in front-end of the website, if you wish to not load my stlyes, just turn them off in **Subscribers > Settings**. So here goes the styles: ` /* General */ span.error {} // error message span.success {} // success message /* Widgets */ .widgetGuts {} // widget insides .widgetGuts dt {} // odd / even rows .widgetGuts dd {} .widgetGuts dt label { } // label field .widgetGuts dt label.required { } // required label field .widgetGuts dd input { } // input fields .widgetGuts dd textarea { } // input fields .widgetGuts dd input.button { } // submit button /* Shortcodes */ .shortcode, .widgetGuts.shortcode {} // either one of them, guts of shortcode .shortcode h3 {} // form title .shortcode table {} // form table .shortcode table tr {} // table row .shortcode table tr.required {} // required .shortcode table tr th {} // holds label .shortcode table tr td {} // holds input / textarea .shortcode table tr th label {} // label .shortcode table tr td input, .shortcode table tr td textarea {} // input fields .shortcode table tr td input.button {} // submit button ` Now when styles are out of the way, let's look at those dev examples. = Examples = Let's check what we can do, we're gonna be using class called `Developers`. To retrieve an object of our form we simply call: ` ` With the form object we can do wonders, consider this code: ` isSubmitted()){ // form was submitted } // check if form was submitted and was valid = that means, there were no errors // and subscriber was successfully added / or unsubscribed (depends on which form we have in our object) if($subscriptionForm->isSubmitted() && $subscriptionForm->isValid()){ // form was submitted - and valid, saved in db show your messages. } // check if form was submitted and had erros, those can be non-valid fields, // subscriber with same address already in system, etc. if($subscriptionForm->isSubmitted() && $subscriptionForm->hasErrors()){ // dump erorrs dump($subscriptionForm->getAllErrors()); // Note: method $subscriptionForm->getAllErrors() retrieves all errors, you can list them using foreach // or save them, do whatever you wish to do. } // display form echo $subscriptionForm; ` = Advanced Example = That is some funky stuff isn't it. Let's create a life like example for ourselves, one used in everyday situations. Imagine that we have a website with for example a modal window, with a nice subscription form. That modal window is a hidden element that appears if some clicks on button called "Subscribe". The form shows up in a modal window, everything is great, but what happens when you send the form? Since we don't use ajax calls to submit the form, it's going to refresh the whole page thus making the modal window element hidden again with keen information about form being successfully sent or not. Now that is excactly the case where we use `Developers` class instead of shortcodes and widgets, and help ourselves to control that situation. Consider this code: ` isSubmitted() ? 'visible' : ''; // just empty variable to be filled with errors / success message $subscriptionMessage = ''; // is it valid or not? if($subscriptionForm->isSubmitted() && $subscriptionForm->isValid()){ // it is, this is our messages $subscriptionMessage = 'You have succesfully subscribed, e-mail is on it\'s way!'; } elseif($subscriptionForm->isSubmitted() && $subscriptionForm->hasErrors()) { // it's not! get error messages in variable $subscriptionMessage = print_r($subscriptionForm->getAllErrors(), TRUE); } ?>