Morgan Hvidt, alongside his partner Larisa, are very involved in the WordPress space. They develop and sell a handful of WooCommerce-related plugins (more on that below) and they very recently launched a brand new plugin focused on Gutenberg called Conditional Blocks. Morgan has taken some time to discuss how he got his start in WordPress and the development and marketing process he and Larisa have gone through with Conditional Blocks.
Can you tell me a little bit about your background and how you became involved in WordPress plugin development?
I never thought I’d end up doing programming. I got an introduction to web development with plain HTML & CSS ( and how to install WordPress) through a multimedia design course. I struggled to wrap my head around it, mostly because I thought I wanted to be a designer or video editor.
Long story short, I ended up creating a few simple WordPress sites for clients as a side hustle and later got a job setting up sites for clients through a local agency. It was great working there as it allowed me to keep learning. Eventually I left that job to further my experience in the field as a solo developer.
Around 2 years ago I started helping Michael from Visser Labs with support for his WooCommerce Plugins. While talking to Michael, I became more intrigued with the idea of creating and growing my own plugins rather than client sites.
This was around the same time I met my lovely partner Larisa. Larisa has been a big support for me while learning plugin development and we’ve been working together to bring our ideas to life.
I enjoy developing plugins because it allows me to be creative and continue to learn along the way.
Where did the idea for Conditional Blocks come from? It’s a very clever implementation that I bet a lot of block developers wish they would have thought of.
Conditional Blocks started from being a learning experience to becoming a creative tool for Gutenberg. There were already a lot of Gutenberg Blocks already out there and I wanted to get into the space before it’s too late. I tried to create a few test blocks but found there was already a lot of similar ideas out there.
I thought it would be pretty cool if I could somehow create a plugin that would give the user more control of Gutenberg Blocks. I started by wanting to know how I could make a block only appear for logged-in users. Once I figured that out I created the next condition and so on. Each condition became a little more advanced, so I kept learning.
We are certainly not the first developer to think of adding show/hide options to Gutenberg Blocks. I discovered other plugins with a few similar features before we launched. However, we strive to offer the most complete features!
I believe there is a lot of room for creativity with blocks and I can’t even imagine how far blocks can go.
What was it like developing Conditional Blocks? Was there anything in particular you found challenging from a programming perspective?
Yes! Developing for Gutenberg is a whole new challenge. I jumped into the deep end straight away and quickly discovered that I had to do some tutorials and research before I could even get a proper setup for building blocks!
Gutenberg is based on React which was new to me, although it was a little similar to Vue JS which I tried out before. There’s still a lot for me to learn and Gutenberg is constantly changing at a rapid rate so there’ll be a lot of time spent on keeping up to date.
Since then, Conditional Blocks has grown into a customized setup which makes it easier to handle code separation between the free Conditional Blocks plugin and Conditional Blocks Pro.
Marketing a block plugin seems incredibly difficult at the moment. The Dot Org site is trying to slowly roll out discovery options for blocks but it’s certainly not enough. Conditional Blocks is brand new so what are your plans to help get the word out and increase the plugin’s exposure?
My partner and I aren’t marketing experts so we hope to get the word out by honest interviews like this one and inviting feedback on Conditional Blocks. We’re open to both positive feedback and constructive criticism. Hit us up if you have any feature questions!
I have just sent the WordPress.org team an email about the new Block-Enabled Plugins section. Hopefully that will help gain exposure.
New plugins are very hard to get noticed and often when they do people might hesitate to install them due to the low install number. Unfortunately, a lot of great plugins die out from the lack of engagement and funds to support further development.
Our goal is to create a plugin which is solid and compliments Gutenberg. I believe that if we succeed in helping people create useful and exciting pages then they will spread the word.
Most of our time is spent on development and helping out people’s support requests. We always try to go the extra mile for our customers and hope they’ll return the favour by leaving us a positive review.
You are using Freemius to not only handle sales but the affiliate program as well. What has your experience been like using the Freemius platform? What are the pros and cons from your perspective?
This is our first plugin using Freemius so we’ll have to see how it goes before we can comment too much on the pros and cons.
Here’s a couple of the reasons we decided to go with Freemius for Conditional Blocks:
- Good reputation.
- Handles licensing out of the box.
- Freemius builds the free and pro plugin versions from main project. This should be easier to maintain in the long run.
- Mostly automated marketing emails.
- Built-in analytics.
- Built-in affiliate program.
- Less configuration to get a new plugin up and running.
On a side note: I’m really excited for the Affiliate Program which is now open for applications.
Do you have any tips or advice for people looking to build their own block plugins for WordPress?
If you are looking at building your own Gutenberg Block plugin now is a great time to get started. I’ve found that people are starting to be more open to the Gutenberg Editor and it definitely has come a long way since the first release.
Here’s the setup I recommend: Create Guten Block
There are a lot of standard blocks already out there. You can compete with them but it will be hard! My tip would be to get creative and think outside of the “block.”
For reference I deleted and started the Conditional Blocks repo about 5 times before I was happy with the code structure. Even then I’ve probably rewritten every piece of code multiple times while learning.
When you choose your idea make sure you do some market research. The Gutenberg Team also have a bunch of features in development so make sure that your idea isn’t ready planned! Keep up to date with the Gutenberg development on Github and all release notes.
What additional features can we expect from Conditional Blocks in the future?
We received our first feature request yesterday!
The person who requested the feature has specific enrollment schedules for programs on their site. They would like to add date conditions to the registration block so they show when registrations are open, and display a ‘waiting list’ block if registration is closed.
We will be looking into adding a feature to show blocks between specific date ranges.
We’d say it’s important to prioritize feature requests over ideas because it’s easy to develop an awesome feature that people don’t necessarily need. With that said we have a few ideas that we’d like input on:
- WooCommerce specific feature that conditionally displays a block for customers who have spent over a set amount in the store. This could be useful for rewarding loyal customers with a coupon.
- Show block on URL Query. This feature would allow content to be more unique by adding a small code at the end of your site link. The code would trigger specific blocks to load only when your site is accessed through that link.
Let us know what you think of those two ideas. If you have any other suggestions just reach out.
You also develop plugins for WooCommerce. Can you close this out by telling me a bit more about that side of your business?
Our Availability Search for WooCommerce Bookings is very specific to WooCommerce Bookings but can really help store owners get their bookable products in front of customers faster.
WooCommerce is great platform for store owners and developers so we are hoping to come up with useful integrations between WooCommerce and Conditional Blocks.