This project marks an important milestone on my WordPress development timeline: the shift from classic themes to block-based themes. As a native-first aficionado, and with the rise of Gutenberg, I started to explore it from the first betas and gradually adopting it.
Being an independent publication, Amarello had a clear business model: subscriptions. They wanted to turn the physical subscription to work on the site either, include a store, and import all the existing content from current to the new one.
WordPress was already their CMS, but data was not very well structured, using Portfolio custom post type to store the articles, leaving default Post empty. The subscription was valid only for the bimestral physical magazine, and they wanted to implement the subscription model on the website as well, giving subscribers access to all the content of the printed magazine, along with free access content.
v1.0 — Building with the Block Editor in the early days
In the first iteration, while frontend designer at ESTUDIO CRU, the site was put online with a commercial paywall plugin, which integrated with WooCommerce, responsible for the store, and its Subscriptions add-on, allowing the payments to be recurring.
When the project started, Gutenberg was on the way to be fully merged into WordPress Core as Block Editor [1]. This was my initial challenge: build my first fully Gutenberg powered theme, after years developing themes from scratch [2] with my own components/blocks built with ACF [3].
This actually fitted my needs for a long time and I could simple keep with this way but Gutenberg/Block Editor would become the default in a short term, I was already experimenting with it for quite a while at that time and I was literally the entire studio’s dev team, which means the decision was only mine — so it was: Block Editor here we go.
The custom paywall solution
About one year after I left the studio, Amarello’s team came with an already modified version of the site: they outsourced the store to a custom Shopify store, and wanted to change how the paywall was working, since Shopify wouldn’t integrate with WooCommerce Subscriptions.
The solution came in form of a custom paywall plugin. First of all, I needed to scope the desired output:
- Articles that contained the selected tags would be accessible only to subscribers and admin users and Amarello must be able to control the selected tags.
Feature #1
Make the tag selection possible using the simplest interface as possible.
- Since subscriptions were now made outside the site, users might be created inside the paywall settings; the editorial team must be able to select the subscription duration in months and years
Feature #2
Create subscribers from the plugin dashboard — name, email and time of subscriptions
- All current subscribers must be imported to the new plugin user management, and the subscription period should remain the same
Feature #3
Ceate a way to check the user creation date within the pluginuser table
DESIRED FEATURE
- Subscription renewing should be accessible as simple as possible on plugin’s dashboard