Since version 5.0, WordPress has a new editor experience: Gutenberg (now simply called the Block Editor). It completely replaces the old post edit screen and adds a new block-based interface. I’m sure you all have seen it, but just in case you were living under a rock over the past few months, here’s what it looks like:
Introducing WP Ultimo Blocks
Gutenberg is a really exciting tool and despite the controversies surrounding its development (a whole different discussion), it opens a lot of cool opportunities and we are eager to experiment on those.
WP Ultimo Blocks is a new Feature Plugin that basically ports our shortcodes to blocks, which you can then use on Gutenberg pages.
You can add pricing tables on your Gutenberg pages, selecting which plans you want to display and which colors to use.
In a similar manner, you can add a Template List block, displaying your available templates. You can select the number of columns, if you want to display the title and filter bar, and, most importantly, which templates you want to appear.
Now you also have a slick interface to manage restrict content in your main site, check out the demo below!
This is still pretty experimental, that’s why it is being released as a Feature Plugin. We would love to hear what you think, though! Let us know if you have any ideas about what blocks we can build next!
— Arindo Duque
The new year has barely started and there’s already a bunch of new stuff going on here in the WP Ultimo HQ! And we are happy to announce a couple of them today!
Meet Juliana and Marcelo!
Some of you might have noticed some new faces on the chat bubble on our main site. That would be me, Juliana, and Marcelo. Two months ago we arrived at NextPress, and since then we’re getting to know everything around here. The goal is to provide even better support and deliver new features and fixes faster and better (1).
(1) and to ease the burden on my back a bit, haha
Marcelo Assis is an experienced WordPress professional that joined our team as a full-time developer, helping with maintaining the add-ons and on pushing WP Ultimo core forward as well. Are you aware that the last Admin Page Creator release (1.3.0) added Brizy and Elementor support in addition to Beaver Builder? Well, that’s Marcelo’s work right there!
Need something? Glad to help you! I’m Juliana Dias, WP Ultimo’s new Community Manager. I’m here to aid community members and to help with questions you may have before and after starting your own network. Also, you can talk to me in English, Spanish and Portuguese =)
A new year, a new way to work:
This year will be awesome, with a lot of changes to come! And all of these changes will be guided by you guys: the WP Ultimo Community.
Speak your mind on the Roadmap!
From now on, WP Ultimo is developed on 6-week-long cycles (we’ve copied this idea from the folks at Basecamp). Once the features that make up a cycle are decided (and we’ll decide them together), we don’t add anything else until that cycle is finished. If we think the features are too large to fit on the 6 weeks after we started to work on them, we will cut some details out until we reach a version that ships in 6 weeks.
The goal here is to have some sort of “contract” with the community and provide better estimates of when things will ship. Arindo does not have a great track record when it comes to giving estimates and he’s aware of it (I know how frustrating this can be, sorry guys – Arindo). This aims to make this less of a problem.
Cycle 1 has already begun and things are right on schedule. Features that will be developed during this first cycle are divided among its 6 weeks, and you can follow everything on our recently updated Roadmap.
After each cycle, we’ll have a cool down period of 1-2 weeks. Here we won’t focus as much on new features, but on making sure the things we added on the previous cycle are working as smoothly as possible, writing documentation, and, most importantly, talking with you to decide what should make into the next cycle.
Developers, developers, developers!
Steve Ballmer has said it all!
In this first quarter of the year, we are also focused on writing better documentation for developers and producing video-tutorials so we can see more and more add-ons developed by third-party shops, which we are already starting to see (check out WaaS PRO and Keypress).
We also aim to improve the Getting Started documentation with video-tutorials covering the basic functionality for people that are just starting out with their Website as a Service platforms.
As Arindo promised last time, we are planning to hold Community Conversations, starting next month. This will be a group chat where we’ll discuss WP Ultimo, people will be able to share what they are doing with the plugin and we will eventually demo features that are under construction. This will be fun! Be sure to subscribe to our mailing list to receive the invitation (don’t worry, if you are a license holder, you are already subscribed =]).
We hope to have you join us in the incredible ride 2019 is going to be!
— Juliana Dias
PS.: If you were having issues with a slow admin panel, we released an update (1.9.6) a few hours ago that addresses it. To learn how to enable updates for WP Ultimo, read this.
WP Ultimo 1.9.0 is out! Domain Reseller integration with OpenSRS, new pricing structure, and development roadmap strategy for 2.0 features
This post is going to be HUUUGE, so I apologize in advance.
It announces a couple of very important things. The Table of Contents below is your friend. Use it to navigate this huge mess! This post talks about:
- I’m releasing a new version of WP Ultimo: 1.9.0 (and new patch releases of some add-ons to make them compatible with 1.9.0);
- I’m also releasing one of the most requested features of 2.0, a domain reseller integration with OpenSRS (with a framework in place to implement other providers in the future);
- I’m going to take a different approach to 2.0 feature developments and I need your help;
- WP Ultimo prices will change and we’ll switch to a subscription model for new purchases, starting in December.
WP Ultimo version 1.9.0
In this release, I replaced a huge chunk of old legacy code that was holding us back. I completely rewrote the admin page framework to be based entirely on WordPress dashboard widgets (which will make it so much easier for developers to add things to our admin pages). This should also have a positive impact on the performance of WP Ultimo admin pages.
Your experience should remain unchanged on the admin panels though, as the changes were designed to look and feel exactly like they worked before and to be backwards compatible (if you have developed custom code for the admin pages, they should continue to work normally).
The goal with this release is to make sure we didn’t break anything while implementing those changes.
New Features of 1.9.0
“Contact Us” as a price option for Plans
You can now add a “Contact Us” message and a link to the pricing tables for a given plan instead of having a definite price.
You can now duplicate plans with just one click, directly from the Plans list table.
New Plan signup URL format
Up until this point, the Shareable URL for plans followed an ugly admin-ajax format. Although we still support that to make it backwards compatible, the shareable URLs for plans now have a more elegant look: yournetwork.com/yourregisterpageslug/frequency/planslug e.g. mynetwork.com/register/1/pro. You can edit the plan slug on the Plan edit screen.
In order to work, this feature requires that you have pretty permalink activated and a custom slug set for the registration page on WP Ultimo Settings Network Settings.
If you prefer to host your term pages elsewhere (for example, on the main site suing a normal page to keep the look and feel of your brand), that’s now possible on the Network Settings options page.
This version addresses a number of annoying issues some users were having, including the need to re-select templates on the plan edit page, errors on the template previewer, a fix for the WooCommerce setup redirect taking precedence over the WP Ultimo payment screen and a number of other things. The complete changelog can be found here.
Some users were reporting problems with the updater and the add-on installer. This was also fixed.
WP Ultimo version 1.9.0 also includes other new “features” that are tied together to our new development strategy for 2.0. We’ll talk about them below
What about 2.0?
My original plan for 2.0 was quite simple: I would simply add the features I had in mind all at once, release consecutive alpha and beta versions to validate them, while continuing to provide support to 1.8.0 with patch releases on a different code branch.
While this looked good on paper to me, it became unsustainable in a matter of weeks. Fixes for 1.8.0 were touching parts of the code I was rewriting for 2.0 and mergeability suffered greatly.
To make things even more complicated, engagement on the Beta Program has not reached the levels I (naively) anticipated. Don’t get me wrong, I’m not blaming you guys. You have already a lot on your plate making sure your networks are running smoothly and that your clients are happy.
It was clear to me that this approach was going to lead nowhere. I had to take some time to rethink the plan and I think I came up with a better solution: Feature Plugins.
Don’t worry, I was able to extract off a good portion of the features I had already implemented to 2.0 and you’ll start to see them roll out soon (starting today! keep reading for more =P).
How do Feature Plugins work?
The idea is simple, and it’s not new. The WordPress core development team has been using it for ages now (which just makes me feel stupid from not using this from day one – specially since we had the add-ons infrastructure already in place).
How do feature plugins work, then? You basically develop a desired feature as an external plugin and only after it is tested and it works with the core product you bring the code inside.
This is what is being done right now with Gutenberg and it is one of the reasons why development on it is taking place in such a rapid pace. Another example that not a lot of people know about is the flat look of the admin panel, introduced in WP version 3.7, which was once a hidden plugin in the repository called MP6.
This approach offers several advantages:
- For me:
- It makes sure WP Ultimo is as extensible as possible, since we need to be able to modify pretty much every core behavior from an external plugin. This is something crucial if we are to have a strong third-party extensions ecosystem in the future (it is already starting to happen and building this ecosystem is going to be a main priority in the coming months);
- I can bring on developers to the team without requiring them get familiar with the entirety of the WP Ultimo codebase before contributing meaningful code;
- For you:
- One of the problems with a huge, all-new-code 2.0 release was the fear of completely breaking users’ networks. This was something that was getting into my head, adding an immense amount of pressure on me. Later, I realized that this is something that was making a lot of you nervous as well. You battled days and nights to get your network to work just right and although it might be good to have that one new feature, if that meant that your whole project could go to space, installing 2.0 was going to be a huge source of stress and maybe some of you wouldn’t even do it. Feature Plugins remove (or at least greatly diminish) this fear.
This also gives me time to think if a given feature is something fit to be in Core.
The domain selling feature, for example. It seemed to be a good idea to have a feature like that on the Core plugin, but after implementing it and realizing how huge that is on its own (and how it will continue to grow when we add support to other providers), I realized that it might be a better idea to have it as an add-on. This is up for discussion, though. Be sure to leave your opinions in the comments below. Ahh, it wouldn’t be a paid add-on because there is no such thing as a paid add-on anymore. Read the pricing change section for more info on that.
The new plan: walking our way up to 2.0
Once you install the 1.9.0 update, in addition to the Add-ons panel WP Ultimo always had, you’ll see a new menu item called Feature Plugins. On that panel, you’ll be able to see a list of all the available Feature Plugins (just one for now). You can install them directly from that page. Once activated, your install will have the feature in question enabled.
I’ll use this mechanism to release most of the new features posted on the roadmap. Of course, some of those will require additions to WP Ultimo code itself. We’ll release those additions as 1.9.X versions.
Feature plugins that get mature enough will be brought into Core if it is where they belong (will be converted to add-ons otherwise). Eventually, in a gradual and subtle manner, all the major pieces will be in place and we’ll reach 2.0.
With all that said, I need your help in two ways:
A better error reporting system
While the Beta Program, the forums, and the Intercom chat are all good to have, they are an active feedback system. It means that you need to go out of your way to install the beta software or to write a bug report and send it to me. That all takes time, a lot of time, and if the issue at hand can be “resolved” by simply turning WP_DEBUG and error_display off, I won’t ever get to know it even existed in the first place.
To address this and make sure we don’t add a single error line to your log files we are introducing a new passive way to report bugs. All it does is send to me any WP Ultimo error that happens on your network. It does not send over any sensitive data, or your API keys, or anything like that. Just your network URL, the WP Ultimo version you are running and some environmental variables (PHP version, MySQL version etc).
This is an opt-in program. You can turn it on at WP Ultimo Settings General.
It doesn’t add any overhead to your network install.
Help me prioritize!
Our current roadmap does not do a great job of letting me know what you guys really need on your networks. I’m looking for a way of gathering meaningful data on what to prioritize and you’ll probably receive a poll in the next weeks asking a few questions about WP Ultimo features and your networks.
It would be awesome if you could participate on that =)
Our first Feature Plugin: Domain Selling directly on the signup flow!
One of the features I was able to extract from the 2.0 codebase was the domain selling integration with OpenSRS. It was built with expandability in mind. This means that the framework to add new providers in the future (like Namecheap and others) is already in place.
This feature plugin implements a pretty straight-forward flow:
- You select which plans support domain registrations;
- WP Ultimo adds a new step on the signup flow, called “Custom Domain”;
- Your users search for an available domain that they like and select it;
- Then, you have two choices:
- Allow the registration to happen right after the signup is done, which means that as soon as the account gets created WP Ultimo will send the purchase request to OpenSRS (aka, money will be deducted from your balance over there right away), OR…
- You can configure WP Ultimo to only place the domain purchase order when you receive the first payment confirmation from the user, which is advisable.
- WP Ultimo will then add the mapping as an inactive mapping on the users’ site and start to periodically check for DNS propagation;
- Once WP Ultimo detects that the domain is pointing to the right IP address (your network’s), the mapping will be activated and the user site will be accessible via the mapped domain.
Since this uses the regular WP Ultimo domain mapping functionality, all the integrations already supported by WP Ultimo will support domains purchased during the signup flow as well. This means that if you are on a hosting provider that supports autoSSL, like Closte.com, for example, the entire domain registration and SSL certificate fetching flow is now covered by WP Ultimo.
The plugin only supports domain registration during the signup flow for now. There’s no UI for the user to purchase a domain from inside the WordPress dashboard. This also means that users that upgrade from a plan that does not support domain registration will not be able to register a domain after the upgrade. This is something I’ll address in the next releases.
As mentioned before, this Feature Plugin will be available to install on the Feature Plugins admin page as soon as you update to 1.9.0.
I also wrote a tutorial teaching how to configure OpenSRS in order for the plugin to work. You can read it here.
WP Ultimo will be 2 years old this Nov 21. Time truly flies…
I coded the last lines of what was going to be version 0.0.1 on a library in Minnesota (where I was doing a semester abroad through one of my university’s exchange programs). I was so sure no one would trust some random guy from Brazil with their money that I placed a pretty low price tag on it and I made it a one time fee as some sort of competitive advantage.
The price I had back them is the exact same price we have today. We’re still rocking that one time fee. However, WP Ultimo is no longer the same product it was back then. Not by a long shot.
WP Ultimo now powers a considerable amount of businesses in more than 20 different countries. There are people quitting their jobs to focus full-time on their networks running WP Ultimo. There are fuc#!&ng multinationals with 9-digit annual revenue creating products on top of WP Ultimo. This is not something I could have ever imagined.
While this is incredibly awesome and professionally affirming, it does mean that there’s a lot more pressure over my work now. Taking a network down with a bug can mean taking away the only source of income of a family somewhere. Although a bit extreme, this is the kind of thought that goes through my mind these days.
With all that being said, my number one priority right now is making sure WP Ultimo is a sustainable business in the long run. I want to be able to continue to work on it for the next 5-10 years at least. I want to grow a huge community around it and to have a team helping me support you so you can do what you do best.
This means that I’ll no longer be able to offer the plugin at the same pricing point. This also means that we’ll be switching to a yearly subscription model, like most premium WP plugins do.
Starting on the 15th of December, WP Ultimo licenses will be sold at the following price points:
- Starter – $99/year – 1 Network
- Plus – $169/year – 3 Networks
- Pro – $249/year – Unlimited Networks
- Lifetime – $499 one-time payment – Unlimited Networks
Pro and Lifetime license holders will have access to all premium (currently, the paid add-ons) and free add-ons.
Starter and Plus plans will have access to the free add-ons.
“I already own a license, what does that mean to clients like me?”
You bought a lifetime license, so you’ll continue to have access to support and updates. In addition to that, starting from Dec 15, you’ll have access to all premium add-ons at no extra charge.
The network count limitations of your license will continue to apply, though. If you own a Single Network license, you have until Dec 14 – 23:59 to upgrade to the Unlimited Networks license paying the current price.
It’s all about community!
I know that Facebook seems to be the place to be when it comes to discussing WP Ultimo networks. Unfortunately, I still think I’m not ready to join you there (I spent a lot of time trying to get rid of Facebook as it was so disruptive to my work and I’m afraid of coming back). I’m doing my best to be able to do that in the future, though.
I do miss being able to be closer to people building networks using WP Ultimo. That’s why, starting on December, I’ll host biweekly hangouts. The idea is to have a space where we can all talk face to face, get to know each other, discuss WP Ultimo features and so on. This is not meant to be a webinar where I’d be talking and you’d be listening. The idea is to have a conversation.
I’m not sure if this is a good idea or not and I think there’s only one way to find out. I’ll let you guys know once I have more details, but I would love to hear what you think in the comments below!
I think that’s all I had to share today.
Hope you enjoy this release and the Domain Selling feature plugin!
Hello, everyone. It’s time for a new release! Let’s dive in on what’s new in this version!
Direct Zapier Integration Support
We released Webhooks support in 1.6.0, but integrating that with Zapier required a few steps that some would consider complex.
Now, WP Ultimo is available as a Zapier App! Integrating it with Zapier is just a matter of selecting WP Ultimo as the Trigger app, selecting an event and connecting it with any of the other apps available on Zapier. Here’s a quick guide on how to get started with that integration.
/Note: WP Ultimo is only available invite only on Zapier. Click this link to add the WP Ultimo Zapier App to your list of available Trigger Apps/
Exporter and Importer for WP Ultimo Settings
Now you are able to export your settings, plans, coupons and more as a backup or to import them into a different network!
This can be accessed via WP Ultimo Settings Export & Import.
Users can now use their own sites as templates
Sometimes our users want to create a bunch of different sites all based on the same concept. Now, if you as a super admin turn that feature on, your users will be able to use their own sites as templates when creating a new site.
ServerPilot.io Domain Mapping integration with support to autoSSL!
We added a new hosting/server management provider on 1.8.0: ServerPilot. Now you’ll be able to auto-sync mapped domains and subdomains and leverage ServerPilot’s autoSSL feature.
The integration requires additional setup on the wp-config.php file. We cover that on this tutorial.
The cPanel integration now syncs subdomains as well!
Since 1.8.0, new sites will have their subdomains added to cPanel’s subdomain panel as well, allowing super admins to leverage cPanel’s features, like autoSSL on some providers. No additional setup is required if you already have the cPanel integration setup, but this does not work retroactively, only applying to new sites created on the network.
Custom CSS field for the Login and Sign-up screen on the Customizer
If you visit WP Ultimo Styling and launch the Customizer, you’ll see a new custom CSS option, allowing you to inject CSS onto the login and registration screen!
WP Ultimo: Admin Page Creator 1.2.0 is out and now supports PHP on the HTML mode
To give you even more power with the WP Ultimo: Admin Page Creator, the HTML content mode now supports PHP. This means you can now use php snippets inside your custom pages and they will be correctly parsed and processed.
For the security freaks out there, this does not use PHP’s eval(). The code gets dumped into a temp file before being included and then removed from the disk. This allows us to isolate the code and scope it as needed.
In any case, PHP process is not active by default. It requires that the super admin add the
define( 'WU_APC_ALLOW_PHP_PROCESSING', true ); to hisher /wp-config.php file.
We here to announce the cool features we added to some of our add-ons. Keep reading!
WP Ultimo: Admin Page Creator
Beaver Builder Support!
As some of you may be familiar with, Admin Page Creator is a handy add-on that allows super admins to create pages and sub-pages on the sub-sites of your network (your clients’ sites).
Before this version, only two methods of adding content were supported: the default WP Editor and custom HTML code.
Now, if you have Beaver Builder active on your main site, you can also add a Beaver Builder Template!
Summarizing: You can bring the entire power of Beaver Builder to your backend pages!
Replace the default content of Admin Pages
Another cool feature added to the Admin Page creator is the ability to replace the contents of default WordPress pages with your custom content. This allow you to create a completely custom Dashboard page for your customers!
This version also allows you to append content to the top and bottom of default WordPress Admin Pages.
This means that instead of replacing the whole dashboard page, for example, you can simply add a custom “welcome” widget using Beaver Builder templates, custom HTML code or the default WordPress editor!
Plugin and Theme Manager
We fixed a bunch of small issues users where experiencing with WP Ultimo: Plugin and Theme Manager, and the new version now contains a new exhibition mode: Plugin Style!
This can be changed on WP Ultimo Settings Add-on Settings Plugin and Theme Manager.
Affiliate WP, Multiple Accounts and Ad Injector
The new versions contain small bug fixes and optimizations.
Hello everyone! It took a bit longer than expected, but WP Ultimo 1.7.3 is finally out! It brings some important bug fixes and cool new features. Let’s see what’s new:
tl;dr: This version addresses bugs involving login obfuscation giving 404 errors; It adds Closte.com Support with autoSSL, allows super admins to add coupon codes from subscription management screen, and let them choose how to handle sites above the quota on downgrade;
We were content by Closte.com and we worked closely together to integrate WP Ultimo domain mapping with their platform. Like WP Engine, there’s no extra setup necessary on your part: if you are running on Closte, WP Ultimo and their platform are automatically connected.
This means that every new mapped domain will automatically be added to Closte.
They also offer a really cool autoSSL feature for all the domains added. The result is as soon as your client maps a new domain, not only his domain will be automatically synced with Closte, but it will also have its own Let’s Encrypt cert fetched within the next minute or so! How awesome is that?
Adding coupons directly from the Subscription Management Screen
It is now possible to apply coupons after the sign-up directly from the subscription Management screen as a super admin. There’s still a few limitations, though. A coupon can only be added if no integration is active at the moment for that subscription.
Handling Sites above quota after a downgrade
Since few releases back, super admins are able to decide how they wish to handle client’s posts when downgrade happens. This is useful to prevent clients from creating sites at a higher tier with fewer limitations, building a site, and then downgrading to a lower plan.
The same thing is now possible for sites. On WP Ultimo Settings Network Settings, super admin can now decide how they wish to handle sites above the plan quota when a user downgrades, choosing between keeping them accessible or making them unavailable until the user upgrades again to plan that allows for a higher number of sites.
Now, if you send the signup link with a template_id parameter in the URL, that template is automatically selected and the sign-up process skips the template selection step!
- Super Admins can disable visits counting on the plugin options (WP Ultimo Settings Network Options).
- The super admin now receives two extra emails (that can be disabled on WP Ultimo Settings Emails): one if a subscription becomes inactive and one if a payment fails for whatever reason;
- WP Ultimo can now be activated directly from the wp-config.php. Read more about that here. This will be implemented for add-ons as well in the future.
- We now have a translation platform for those looking into helping WP Ultimo internationalization efforts. Read more about that here.
Relevant bug fixes on this release:
- Login Obfuscation causing 404s on pages like Password Recovery, Logout and others: Fixed;
- View subscription on Stripe always redirecting to Stripe Sandbox: Fixed;
- Coupons sending wrong values for Stripe when using absolute discount values (not percentages): Fixed;
- Subdomain being used on scripts and images instead of the mapped domain in some places: Fixed;
- Responsiveness on the Template Previewer screen: Fixed;
Version 1.7.3 - 13/08/2018
* Fixed: When wp-login-php obfuscation is active, the user was getting the 404 error page on logout;
* Fixed: wp-login.php Obfuscation was not fully supporting password reset;
* Fixed: PayPal gateway starting output without ob_start() on the PayPal button code;
* Fixed: Scoped chosen.js styles to prevent conflicts with other plugins, like Give;
* Fixed: Graphs of the statistics page are now working again;
* Fixed: Link "View on Stripe Dashboard" was always redirecting to the sandbox version of the Stripe Dashboard;
* Fixed: Stripe not formating the values of coupons correctly when using absolute values;
* Fixed: Second level serialized array not being picked up on Search and Replace;
* Fixed: Some scripts and images not using the mapped domain when a mapping is activated;
* Fixed: Responsiveness of the template previewer on mobile screens;
* Fixed: Login after signup is now fixed on WP Engine (finally!);
* Improved: Updated the "Translate WP Ultimo" link;
* Improved: Removed the "remove site" link when the user has only one active site;
* Improved: Make sure we display the "Add new site" link to users without sites, even if the "Enable Multiple Sites" option is disabled;
* Improved: Allow admins to filter the min length of passwords on signup (wu_password_min_length);
* Improved: Super Admins can now choose if they want to have visits limitation and counting or not;
* Improved: Alert messages asking for confirmation when super admin clicks the Delete button on the Plans list or inside a plan edit page;
* Improved: Alert message asking for confirmation added to the cancel payment integration link on the Account page;
* Improved: The webhooks menu is now a first level menu;
* Improved: License Key fields are now password fields;
* Improved: Super-admins can add the license code to the wp-config.php file to activate the plugin, using define('WP_ULTIMO_LICENSE_KEY', 'KEY_HERE');
* Added: Super admins can now block the frontend of sites above the quota number on Network Settings - this is useful when a client downgrades to a plan with lower site quota;
* Added: Option to add coupon codes to subscriptions on the management screen;
* Added: New email template - Super Admins now get an email when a subscription becomes inactive, allowing them to take action, if necessary;
* Added: New email template - Super Admins now get an email when a payment atempt fails, allowing them to take action, if necessary;
* Added: Signup URLs can now contain a template_id parameter to auto-set the template and skip the template selection step;
* Added: Closte.com domain syncing support with no extra configuration steps necessary. It also includes AutoSSL!
Relevant Articles on the Knowledge Base
tl;dr version: WP Ultimo Version 1.7.0 brings support to Setup Fees on plans, the ability to charge the user’s credit card directly (via Stripe). Clients can update their card information and network admin has more actionable controls on the subscription management screen. The title, text and button labels of the payment integration screen can also be changed directly from the plugin options; Admins can change the login URL and send non-logged users to a 404 page if they try to access the wp-admin URL.
I’m happy to announce that WP Ultimo version 1.7.0 is out and it is one of our biggest releases so far. It brings some long-awaited features and incorporates a lot of suggestions and feedbacks we got in the forums and over other support channels. It also lays out some of the work needed to move forward in the way we discussed on this topic.
Without further ado, let’s see what’s inside!
Setup Fee support on Plans
One of the most exciting new features of this release is the addition of Setup Fees to plans. Now network admins can add a one-time setup fee to each of the plans individually and have that value charged with the first subscription payment.
Adding a setup fee is pretty simple. Just go to the Plan edit page and enter a value on the Prices block.
After that user pays for the setup fee, a control flag is added to his subscription to prevent him from paying again in case of a new integration. You can override that behavior on the Subscription Management Screen, by checking the “Should Charge Setup Fee” option.
Manual Charges Support (Stripe and Manual)
It was already possible to add new payments to the Billing History manually, using the Add new Payment Manually. Now it is also possible to create a real charge (meaning deduct real money from the users integrated payment option) of any value directly from that same form, if the user integrated gateway supports it.
The payment will be processed by the integrated service and WP Ultimo will be notified back if the payment was cleared or not. Refunds work just like with regular subscription payments.
Clients can now update their payment option without canceling the current integration (Stripe only)
WP Ultimo lacked one very basic feature for card payments: the ability to update your credit card information. This is no longer the case, as it now offers an option for users to update their card info directly from the Account page.
Improvements on the Payment Integration Screen
A lot of users requested more customization options for the Payment Integration Screen. WP Ultimo version 1.7.0 brings a lot of them =).
First, network admins are now able to completely change the title and description of the page directly from the WP Ultimo > Payment Gateways tab.
All the gateways automatically get a Button Label option as well, where you’ll be able to overwrite the default text of the integration button.
The Payment Integration page now also has a small Go to the Account Page link at the bottom, allowing clients to visit the Account page, have access to plan changes and more, something that wasn’t possible before.
Improvements to the Visits Limit
We release visits limits per plan on version 1.6.0, but in a very rudimentary state. It did not work if a caching plugin was activated and there was no way to reset the count without editing the database options by hand.
Version 1.7.0 brings more control for network admins and clients as well.
Working with Cache Plugins
The visit counter now runs as a script in the front-end. Being an ajax call, the page can be cached without any issues and the admin can be sure that the counter will take that visit into account. There’s also a small delay before triggering the count action, preventing accidental accesses from counting as a full-visit. Cache plugins supported include: W3TC, WP Super Cache, WPEngine Cache and WPFastestCache.
We also added two new emails templates to WP Ultimo, regarding Visits limit.
- An alert email is sent to the user once 80% of the visits quota is reached;
- Another alert email is sent to the user once 100% of the visits limit is reached.
Network admins can customize the emails, or disable them directly on the WP Ultimo > Emails tab.
Reseting the Visits Count
Now, network admins can reset the visits count on the subset Limits and Quotas widget or directly on the Site List widget of the Subscription Management screen.
Improvements on the Subscription Management Screen
The Subscription Management Screen, while doing a great job centralizing all the aspects of a client’s subscription, was missing some crucial actions and information as well. WP Ultimo version 1.7.0 brings useful new options to that page.
Credit Card Information (Stripe)
You can now see the last digits of the user card and the card brand directly on the management screen. This might be useful when helping the customer figure out what might be the issue with their payment method.
Link to the Subscription on the Integrated Payment Dashboard (Stripe and PayPal)
Network admins are now one click away from the subscription on the Stripe or PayPal dashboard.
Canceling an Integration
A new button allowing the network admin to cancel a payment integration directly from the Subscription management screen was also added.
More information on the Sites List
As we have seen before, the Sites List widget now contains some actionable info about each of the sites belonging to this subscription. A new option to edit the Mappings was also added.
Registration and Login Improvements
Version 1.7.0 brings some long-awaited feature for registration and login as well.
Allow your clients to choose from more than one domain during sign-up
If you own multiple domains and want your users to be able to choose which one of them they would like to use on their own site, that’s now possible.
On WP Ultimo Settings > Network Settings, you’ll find the new option called Enable domain selection on sign-up.
Activating that option and entering your domains will result in a list being presented to the client on the Domain step of the sign-up:
Important: All the domains listed must have an A record pointing to the network IP address for the new sites to work.
Changing the Login URL and hiding wp-admin for non-logged users
WP Ultimo only offered a way to rename the wp-signup.php URL, leaving the wp-login.php untouched. That’s no longer the case as we now support rewriting that URL as well.
That means that you can have something like yoursite.com/login as the login page now.
A second option was also added, giving network admins the option to obfuscate the old login URL. When activated, this option will return a 404 page whenever a non-logged in user tries to access wp-login.php or /wp-admin. This is REALLY useful in order to prevent brute force attacks.
If this option is left unchecked, users accessing wp-login.php or /wp-admin will simply be redirected to the new login URL.
New Options for Plans
We also added some handy and highly requested features to the plan settings page.
Override the copy media setting on a per plan basis
Network admins can now override the global setting for copy media on each of the plans. This is useful if the network admin does not want to offer access to the images on free plans, for example.
This option can be found on the Plan Edit page, under the Advanced Options on the General Tab.
Allowing unlimited extra users is now possible
Unlike post type quotas, the user quota did not support allowing an unlimited number of extra users. This is now possible.
Other options added
We also added a bunch of new options for the plugin as a whole, including:
Grace Period on the Frontend Block
WP Ultimo allowed admins to block the front-end of clients’ sites if the subscription became inactive. Now, super admins can add an extra grace period before the site’s frontend gets locked.
Handling posts above the quota on Downgrades
WP Ultimo did not modify the status of posts on upgrade or downgrade. That meant that one client could hire the highest plan available, create lots of different pages and posts making use of the greater quotas and, after his or her site was ready, downgrade to a lower plan.
Now, WP Ultimo offers a few options for network admins to deal with this issue: they can either keep the default behavior and do nothing with the posts; they can move posts above the quota to the trash (without deleting them); or they can set the status of the posts above the quota to draft.
Search and Replace UI and API
WP Ultimo also has a Search and Replace UI that allows admin to add search and replace rules to be used on site duplication.
Although this is not so useful in its current form (since we don’t offer placeholders support on the UI yet), an API with that support is available. The documentation can be found here.
Domain Syncing Support for RunCloud.io
The release cycle of WP Ultimo will also suffer changes (for the better), with the addition of a Beta Program. Users that decide to join will be invited to update their versions when alpha, beta, and release-candidate releases get out. That way we can make sure we test new versions as much as possible before releasing them as stable.
To read more about the Beta Program and how to join, check this page on the Knowledge Base.
- We now have filtering by plans on the Subscription list table;
- A new option to set a different logo for the login/signup page was added;
- The CPanel integration now supports WU_CPANEL_ROOT_DIR, allowing admins to change the root directory of the add-on domains (defaults to /public_html). The CPanel tutorial was updated to reflect that change;
- We added a filter to allow network admins to change the position of the Account menu item on the admin menu. Here’s a tutorial on how to do that.
- Some users were having problems with dates and times on Stripe not matching dates and times on the network. This was fixed. The only requirement is that you make sure your network main site and your Stripe account have the same timezone setting;
- The Limits and Quotas widget was not being displayed when super admin visited a sub-site. That was fixed;
- The CSV Export option on the Subscriptions list page now includes coupon code information and has the right number of columns;
- Admins were getting a strange email alerting them that the Admin of a site template had change every time a new site was created based on a Site Template. This was fixed;
- We added a wrapper div on the signup-main.php file, allowing background images and colors to be applied to the Sign-up page. This also fixes the incompatibility between Material WP styles and the Sign-up page of WP Ultimo;
- We replaced the PHPInvoicer version with the latest one to avoid old PHP deprecated notices;
- We also re-arranged some of the settings on WP Ultimo > Network Settings to keep things more organized and easy to find. Site Templates, for example, got its own section;
- Now network admins can hide sub-site admin widgets with a filter (read more: https://docs.wpultimo.com/knowledge-base/removing-the-wp-ultimo-widgets-from-the-clients-dashboard/);
* Fixed: Some wrong time formats being used on the codebase causing Stripe, PayPal and Ultimo Subscriptions to get 12h out of sync sometimes;
* Fixed: Only register subscription status widgets when the user has a valid plan;
* Fixed: Limits and Quotas widget not being displayed to super admins when visiting a sub-site;
* Fixed: Export CSV with missing columns and containing coupon code info;
* Fixed: Email alerting admin email change being sent on template duplication;
* Fixed: Small incompatibility with the DIVI builder on the post edit page;
* Improved: Plan filter options on the subscription list page;
* Improved: We no longer display a success message when submitting the map domain form with no domain address;
* Improved: Added an "Account page" link on the Payment Integration screen;
* Improved: Added an option to customize the Payment Integration screen title;
* Improved: Added an option to customize the Payment Integration screen description;
* Improved: Added options to customize the gateway integration button labels;
* Improved: Changed the signup-main template file, adding a new wrapper div to allow the body tag to take the whole screen, adding support to background images via CSS;
* Improved: WP Ultimo sign-up flow now supports styles coming from Material WP;
* Improved: Revised the account delete flow;
* Improved: Added a filter to the site count calculator for subscriptions;
* Improved: Visit counter now uses a ajax script to count visits to avoid problems with caching plugins - caching plugins supported: W3TC, WP Super Cache, WPEngine Cache and WPFastestCache;
* Improved: Admins can reset visit count on the sub-sites' limits and quotas widget;
* Improved: New email templates added for site removal and account removal (admin and user);
* Improved: Added an option to set a different logo for the login and sign-up pages;
* Improved: The CPanel integration now supports WU_CPANEL_ROOT_DIR, allowing admins to change the root directory of the add-on domains (defaults to /public_html). The CPanel tutorial was updated to reflect that change;
* Improved: Added a handful of new filters to important parts of the wu-subscription model, allowing for greater extendability;
* Improved: We now only display the disk space limit on the Account Statistics widget (client dashboard) when the disk space check is turned on in the Network Admin -> Settings -> Network Settings page;
* Improved: Replaced the phpInvoicer version with the latest one to avoid old PHP deprecated notices;
* Improved: Re-arranged some of the settings on WP Ultimo -> Network Settings to keep things more organized and easy to find;
* Improved: Sites lists now have easy link to reset visits count;
* Added: Beta Program, allowing network admins to receive notification of alpha, beta and release-candidate updates;
* Added: Super Admins can now allow users to choose from multiple domains for their site during the sign-up process;
* Added: Network admins can hide sub-site admin widgets with a filter (read more: https://docs.wpultimo.com/knowledge-base/removing-the-wp-ultimo-widgets-from-the-clients-dashboard/);
* Added: Network admins can now change the login URL from wp-login.php to something else; It also supports obfuscation of the old wp-login.php URL, preventing brute-force attacks;
* Added: Super admins can now set a grace period before finally locking down the users' frontend;
* Added: Super Admins can now set the "copy media" option on a per plan basis, under the advanced options portion of the Plan edit page;
* Added: Super Admins now can set the extra users plan quota to unlimited as well;
* Added: RunCloud.io support! Domains get automagically added to the RunCloud web-app domains panel after mapping;
* Added: Two new alert emails for monthly visits limits (limit approaching and limit reached) added;
* Added: Network admins can decide how to handle posts types above quota (do nothing, move to trash or mark as drafts);
* Added: Search and Replace UI on WP Ultimo Settings -> Network Options;
* Added: Support to setup fees on plans;
* Added: Support to single charges (Stripe and Manual);
* Added: The current card being used for payment is displayed on the Accounts page and Subscription management screen, if using Stripe;
* Added: Admins can now cancel the payment integration directly from the Subscription Management screen;
* Added: Clients can now updated their card info on the Accounts page, if using Stripe;
Launching Admin Page Creator, WP Ultimo 1.6.2 with CPanel Support, MailChimp Add-on 1.1.0, and AffiliateWP Integration Add-on 1.1.0
tl;dr version: WP Ultimo 1.6.2 brings some fixes reported since the last release, including the AffiliateWP table error on sign-up. It also adds CPanel support to the list of supported domain mapping integrations. We’re launching a brand new add-on that allows admins to add pages to the sub-sites admin panel and new versions of our MailChimp and AffiliateWP integrations are out.
I worked in a bunch of different stuff the past few days that I want to share with you all!
New Add-on – WP Ultimo: Admin Page Creator
Adding new pages and sub-pages to the admin panel of your clients can be a complicated task if you do not have the necessary coding skills. Coupling that with access control, like only allowing certain plans or roles to access that page brings things to a whole other level in terms of complexity. WP Ultimo: Admin Page Creator aims to fix that.
WP Ultimo 1.6.2
This version is just a patch release, so not much going on in terms of new features. However, this version address two major issues users complain about for a long time: super admins no longer get removed from the main site when adding a new one and we also fixed the duplication error some users were having during the sign-up flow when AffiliateWP is active on the template sites.
This version also adds CPanel to the list of supported platforms for mapped domain syncing. Now, every new mapped domain gets automatically added as an Add-on Domain on CPanel. Network admins need to add come configuration to their wp-config.php to get this to work. Here’s a tutorial detailed the steps required.
If you want us to add support to another platform, please let us know in the comments below. Unfortunately, due to their API limitations, we are not able to implement a similar feature for Kinsta and Flywheel.
Complete Changelog for WP Ultimo 1.6.2
Version 1.6.2 - 03/05/2018
- Fixed: Small spelling mistakes on the dashboard;
- Fixed: Broadcasts widgets take the whole screen now on larger screens;
- Fixed: Link on the bottom of the HTML email template having a /1, which causes the link to be broken;
- Fixed: Making sure we don't show the "Use this Template" outside a sign-up context;
- Fixed: Small activation error on the site-hooks file;
- Fixed: Small bug on the Jumper builder, causing broken links;
- Fixed: Error copying AffiliateWP tables over from template sites halting the sign-up process;
- Fixed: Super Admin being removed from the main site when creating new site;
- Improved: All strings of the PDF invoices are now translatable;
- Improved: Added an option to filter the wp_die title;
- Improved: We now check post limits when trying to restore posts to avoid users trashing and restoring posts to bypass plan limitations;
- Improved: Invite and Account Activation emails are now sent using our email template;
- Added: Experimental Search and Replace filter added;
- Added: CPanel support! Domains get automagically added to the CPanel Add-on Domains panel after mapping;
MailChimp Add-on – Version 1.1.0
We also have a brand new release of our MailChimp Integration add-on available for update. It addresses a number of issues reported by users and it adds a new integration mode, allowing network admins to user MailChimp groups. I also wrote a tutorial explaining how to use the add-on that covers the new mode as well.
AffiliateWP Add-on – Version 1.1.0
A new version of our AffiliateWP is also out, adding support to Recurring Referrals! A brand new tutorial explaining how to use the add-on was also added to our knowledge base!
tl;dr version: This version includes Webhooks (allowing integrations with services like Zapier), Template Switching, and the option to add a visits count limit on plans. It also includes support for WP Engine and Cloudways, custom trial periods for different plans, and a slick new way of jumping between pages for network admins.
I’m proud to announce that WP Ultimo 1.6.0 is out and it packs a lot of cool features. Without further ado, let’s dive into what’s new:
Running a business can get really complicated these days, with tons of data to keep in sync between a number of different tools, which can include accounting, marketing, and automation, etc.
Instead of developing dozens of different add-ons to integrate WP Ultimo with different services, I decided to go down the path that gives us most flexibility, and that allows network admins to take the most out of the services available on the web: enter Webhooks.
Webhooks are triggered every time an important event happens on the network. They take the data generated by that event (like the username, plan selected, user email, and more, in the case of an account creation event, for example) and send it as a request to a configurable URL.
The true power of webhooks emerges when they are used in conjunction with Integration services like Zapier and IFTTT. Those services take the webhook data and allow you to hook that data to other services.
That means that you can add that user email address to a MailChimp list, or receive an SMS every time a payment fails on the network. The possibilities are endless.
For those that are not familiar with webhooks or Zapier, I wrote a handy tutorial explaining how to integrate WP Ultimo’s Webhooks with Zapier to create a simple integration that posts a notification on a Slack channel every time a new user signs up on your network.
WP Ultimo now has 8 different events that can trigger a webhook call (and we’ll continue to expand that list in the future): Account Created, Account Deleted, Payment Received, Successful Payment, Failed Payment, Refund Issued, Plan Changes, and New Domain Mapping.
WP Engine and Cloudways Domain Mapping Integration
WP Ultimo now is capable of automatically syncing the domains mapped inside the network with the domain settings of the WP Engine and Cloudways. This is means that network admins no longer need to manually update domain settings on those platforms in order to get the mappings to really work.
- WP Engine users: You are all set. No extra action is required and domains will be synced every time a new domain is added or removed after you upgrade to 1.6.0.
- Cloudways users: In order to get automatic syncing to work, there’s some extra configuring that needs to be done. Follow this tutorial and you’ll be set in under 5 minutes.
Introducing: The WP Ultimo Jumper!
Managing a network can be quite tedious sometimes as a lot of time is spent navigating between the pages of the network admin panel, your hosting provider dashboard panel and all of that. The Jumper aims to minimize that wasted time by providing an easier way to navigate between those pages. It is just a simple navigation UI similar to Spotlight on MacOS, for those familiar with it. It can be launched by using the ctr + alt +g shortcut (cmd + option + g on Mac).
I also prepared a handy tutorial on our knowledge base explaining how to customize your Jumper to improve your workflow.
Although potential clients can select template sites to build their own during sign-up, they had no way of switching to another template option if they later discovered their original choice was not the best one for them. Version 1.6.0 allows users to switch templates after sign-up!
Monthly Visits Limit on Plans
Admins can now set a monthly limit for site visits. Every page view counts as one visit (site owner and super admin visits don’t get computed). The site front-end gets locked up if the limit is reached. The limit is reset on a monthly basis.
Custom trial periods per Plan
Network admins can now set a custom number of trial days for each of the plans on the platform separately on the Plan edit page.
- The Broadcasts page was completely reorganized to provide a better experience when writing emails and alert messages to your users, including a preview box so you can see exactly how your users will view your message on their dashboard.
- A lot of unused scripts were removed and other were grouped to be loaded only when strictly needed; A considerable number of scripts were being loaded from their full version and not the minified ones. That was also fixed. I saw up to 15% performance improvement on overall load times while testing this release.
- Max (@max42, on our community forum) did a very throughot review of our activation functions (mostly involving database creation) and found some database errors being thrown there. Those errors are harmless, but in order to avoid “dirtying” the logs of our user’s networks, I revised the activation process and those errors are no longer being thrown.
- The new template previewer screen, introduced on 1.5.5, was behaving strangely in some particular situations. That was fixed;
- In some networks, clients were not being auto-logged in after sign-up. I took some steps to prevent this from happening – and it does seem to have solved the issue, at least in my test environments.
Tutorials mentioned in the Post
- Integrating WP Ultimo with Zapier using Webhooks
- Configuring automatic domain syncing with Cloudways
- How to use the WP Ultimo Jumper to be more efficient
Version 1.6.0 - 21/04/2018
- Fixed: "Select Template" showing up in the site template previewer when in shortcode context;
- Fixed: Template Previewer is handling SSL for subdomains in the right way now;
- Fixed: Template Previewer taking into account the plan selected previously, to display only the templates available for that selected plan;
- Fixed: "www." appearing on the site-url previewer;
- Fixed: Incompatibility with WP All Import WooCommerce Add-on;
- Fixed: Small portion of the bottom of the site preview being cut off on the Previewer screen;
- Fixed: Users with Subscriptions created with no sites can now create sites from the panel without getting a "no permissions" error;
- Fixed: Missing variable on domain mapping causing redirect errors in edge cases;
- Fixed: Auto-login after registration not working in some environments;
- Fixed: Invoice generator not being able to handle filenames with special characters and throwing errors;
- Improved: Re-phrased the Sunrise.php check step on the Setup Wizard to make clear that users must add the define('SUNRISE', true); line above the /* That's all, stop editing! Happy blogging. */;
- Improved: Added extra check on subscriptions to make sure free subscriptions are not getting expiring & expired notification emails;
- Improved: Reorganized the broadcasts screen to add a preview block and to clean up the send form;
- Improved: Added a login link on the "Site is not available" screen for admins to log in when "Block Front-end Access" is enabled;
- Improved: Replaced the old "No Preview" image with something less intrusive;
- Improved: Re-adjust the aspect ratio (320x179) of the template preview blocks to match the new resolution returned by the screenshot scraper;
- Improved: Adopted a more aggressive minification strategy for WP Ultimo scripts, boosting performance and reducing file sizes up to 50%;
- Improved: Making sure dbDelta does not dirty the logs with database errors on activation;
- Improved: Added a filter to allow developers to add custom meta to sites after site creation on the signup;
- Added: Option to prevent search engines from indexing template sites;
- Added: New feature allowing users to switch templates after sign-up;
- Added: New feature allowing admins to add a visit limit for plans;
- Added: New feature allowing admins to overwrite the trial settings on the plan edit page;
- Added: Different listing option on the Network Admin -> Sites page to list only Template sites;
- Added: Webhooks! Support for 8 events (Account Created, Account Deleted, Payment Received, Successful Payment, Failed Payment, Refund Issued, Plan Changes, New Domain Mapping), more will be added as we go;
- Added: WP Engine support! Domains get automagically added to the WP Engine panel after mapping;
- Added: Cloudways support! Domains get automagically added to the Cloudways panel after mapping;
- Added: Jumper UI that allows admin to easily switch between admin pages;
Let me know your thought on our new release in the comments below!
Hello, everyone. Version 1.5.5 is out! It adds some cool new features and fixes important issues across the plugin. Let’s dive in, shall we?
tl;dr: 1.6.0 containing tax support will take longer, so 1.5.5 is being released as an intermediary release with new features. It addresses mapped domain issues in the customizer; implements a top-bar on the site template screen; global plugin activation for plans, and notification emails when trials and subscriptions are about to expire.
Why 1.5.5 and not 1.6.0?
Our original plan was to release version 1.6.0, a major update containing tax support and VAT functionality. However, Implementing Tax support and making all the features around it 100% VAT compliant requires some changes on how WP Ultimo processes things internally, which will take more time to get done.
As we had a bunch of cool features and important fixes implemented, we didn’t want to make you wait a lot more so we could ship them alongside tax support, so I decided to release this intermediary version to make the new features & fixes available.
Tax Support & VAT will be released soon as a “feature-plugin”, meaning it will be available on the add-ons page as a free add-on so people can test and provide feedback. After that phase, we will incorporate that feature into core once everything is sorted out.
What’s new on 1.5.5?
Here are some of the cool features we added on version 1.5.5.
Top-bar on Site Template Previews
WP Ultimo now adds a top-bar on the site template preview screen, during the sign-up. This allows the potential client to simply click on the “Use this template button” to select that template, to easily navigate between templates from the drop-down menu (with mini-previews) and even visualize the responsiveness of the chosen template by switching to different device screen sizes.
The top-bar colors and texts can be edited in the WP Ultimo Settings -> Styling Tab, and this functionality can be disabled altogether on WP Ultimo Settings -> Network Settings.
Activating and Deactivating Plugins for Plans
Network admins can now globally activate/deactivate plugins for all the sites on a specific plan directly from the Network Admin Plugins list.
The process is done in the background to avoid timeouts and other issues (possible when dealing with large networks) and runs the activate and deactivate hooks of each plugin selected, allowing them to correctly set-up custom tables and other necessary things if needed.
Expiring and Expired Trial and Subscription Emails
Emails for expiring and expired trial periods and subscriptions were also added in this release. Network admins can now set in how many days before the trial or subscription is set to expire they want to send the notification email.
An email also gets sent once the trial or subscription expires and no payment method was added.
Both emails can be disabled and modified in the WP Ultimo Settings -> Emails Tab, where the admins can also set the “days prior” setting.
This version also addresses important issues, especially regarding mapped domains.
The customizer now loads sites with mapped domains without any issues on the previewer screen. Image srcset attributes are also being filtered, replacing the old image URLs with mapped versions when a domain map is present, prevent CORS issues.
Version 1.5.5 - 07/03/2018
- Fixed: Change plan was not triggering role change and meta update of plan_id on the user;
- Fixed: We now force avatar display on our pages even when that option is disabled on the main site settings;
- Fixed: Customizer not loading preview in when a mapped domain is active;
- Fixed: Domain Mapping box on User Account page now gets the right URL for CNAME for Multisite installs running inside a directory (like yourdomainname.com/wp, for example);
- Fixed: Subscription being marked as "trialing" wrongfully because weak type checking of the trial days attribute;
- Fixed: When a site template was no longer available, a "false" option would be displayed in the template selection screens during sign-up;
- Fixed: Fixed on the double animation effect on the princing table frequency selector;
- Important: We now use the locale of the user to render the Stripe box - Support languages: zh, da, nl, en, fi, fr, de, it, ja, no, es, sv;
- Improved: Changing the trial now updates the active until, to make sure we correctly categorize subscriptions as "on-hold";
- Improved: The quotas widget is now always hidden to the subscriber role;
- Added: Coupons now support limitations by plan and billing frequencies;
- Added: Top-bar added on the template preview page;
- Added: Notification Emails added for expiring and expired subscriptions;
- Added: Notification Emails added for expiring and expired trial periods;
- Added: Option to Activate and Deactivate plugins for plans directly from the Plugin Screen in the network admin;