This new plugin has been on my todo list for a long time now and to finally get it out there and into the hands of people that will use it is a really great feeling.
I had the idea for the plugin whilst working on my other WordPress plugin, Better Notifications for WP. I have a very happy community of people using BNFW and they’re great at providing constructive feedback. Over the past few years, one thing from users has come up more and more – BNFW is great at allowing me, the admin, to create notifications for my users, but how can my users create this own email notifications for things they want to know about? It was a good question. How could BNFW do this?
On and off, I spent years, literally, pondering how I could make it work. I created the Subscriptions add-on that allowed users to be able to opt in and out of notifications that the admin had set-up for them but it still didn’t address how users could create their own notifications. I looked down every avenue I could think of, from re-working the entire plugin from the ground up to handle both situations, to somehow shoe-horning the concept of user-driven notifications into the Subscriptions add-on. No matter what I thought of, or how I went about it, it ended up as a confusing mess for both the admin and, more importantly, the user. I felt the easiest way to go about addressing this was to start again, with a new plugin, designed with a pure focus on user-driven email notifications.
Naturally, I did some investigation before I jumped into any planning or development. I was genuinely surprised that another plugin didn’t do something like this. The only real things I found were either a) limited functionality within a theme, or b) limited functionality added to a specific plugin via an add-on. Armed with this, and some potential idea validation in the form of user requests, I was ready to start work.
Whilst I haven’t been too badly affected by the global pandemic, the UK lockdown did hold two things for me: managing childcare with my wife, and a little less client work. The former meant that over Spring and Summer 2020, I was working half-days. The latter meant that I had the best part of every morning, for several months, to finally get around to working on my new plugin.
I started off by planning out the user journey for the plugin and noting everything down in a markdown document. Once done, I fleshed this out with how each aspect of this could be done, researching the various hooks and filters within WordPress as I went.
I then organised my planning into versions – initial release, version 1.1, 1.2, and so on. Fairly quickly, I had the whole idea mapped out with a fairly decent roadmap. I then converted this into a Trello board and got started with the coding.
Coding the Plugin
Producing a basic working version of the plugin only took a few weeks. Polishing it so that it was safe, sanitised, and worked with Gutenberg, WP REST API, and WP-CLI took a bit longer. After 3-months everything was done and I started the daunting task of producing the website – something that took nearly as long as the plugin!
What Does Content Notify Do?
In a nutshell, Content Notify lets anyone create their own email alerts for any type of content on your WordPress website.
Expanding on this a little: this could be visitors, users, or members behind a paywall. This could be for posts, pages, or a custom post type, such as Movies. This could be limited to categories, or tags, or a custom taxonomy, such as Actors. It could be for new content, or updated content. Anything goes.
The user can subscribe via a simple form (added via a shortcode) and they can unsubscribe from any email alert they are sent. They have to verify their email address before any alert emails are sent to them. Email alerts are sent to any user where their subscription matches the content that’s been published or updated.
Admins can manage subscriptions and view information about the users that have subscribed, and can restrict content types and taxonomies via shortcode parameters.
Developers can limit the post types and taxonomies that the form can output, and there are some handy filters for various other things within the plugin too.
I’ve tried to think of each type of person that has some kind of interaction with the plugin in order to develop powerful features for each of them. And there’s plenty more (read: loads) to come from my roadmap.
If you want to know more, I highly recommend checking out the full documentation.
Things I Learnt
The whole experience was seriously good fun 🙂 I can’t stress this enough.
I thoroughly enjoyed myself and working on something of my own gave me a lot of purpose during a potentially difficult time.
Looking at how Gutenberg publishes and updates posts was interesting and getting this to work was the key to getting Content Notify to work with the WP REST API and WP-CLI – once I had Gutenberg, the other two took no time at all.
Working out the language was tricky – I ended up settling on Subscriptions and Alerts, as opposed to ‘Notifications’ as in my other plugin. The reason for this was that I realised that the user actually ‘subscribes’ to content and is then subsequently ‘alerted’ about it when they receive an email. ‘Notifications’ is in the same vein as my other plugin and whilst I have no real issues with any overlap in branding, I felt it would be nice to describe this differently. Subscribe/Subscriptions is also, arguably, a more commonly used word when it comes to a stream of emails too.
Once you go anywhere near emails, you automatically dive, face-first into the GDPR and all the various versions of it from around the world. I’m still learning a lot about this.
To celebrate the release of the first version, I’m launching the plugin with a sale!
I’m not sure how long I’ll run this for yet but for a while, you can save some decent amounts off of the full-price of the plugin. You can check this out here.
Until the next release!