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.

 

Hello everyone!

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.

It adds a simple, but powerful UI to your Network Admin, allowing you to create pages and sub-pages for the back-end with the same ease you do for the front-end. It also offers custom HTML, CSS and JavaScript support, as well as access control based on plan and user role!

[gallery size="full" columns="2" link="file" ids="878,879"]

Click here to visit the overview/tutorial of WP Ultimo: Admin Page Creator and here to buy it now!

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.

CPanel Support

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

[crayon-5b0a1e81615af899758492/]
 

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!

Read more


WP Ultimo 1.6.0 – Release Notes

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:

Webhooks

[caption id="attachment_839" align="alignnone" width="1440"] Webhooks Screen inside WP Ultimo[/caption]

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.

[caption id="attachment_835" align="alignnone" width="1154"] Our example integration with Slack in action[/caption]

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).

[caption id="attachment_840" align="alignnone" width="1440"] New Jumper UI in action[/caption]

I also prepared a handy tutorial on our knowledge base explaining how to customize your Jumper to improve your workflow.

Template Switching

[caption id="attachment_836" align="alignnone" width="641"] The new Switch Template button, on the user Dashboard. Also in the picture is the new site Visits limit in action[/caption]

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

[caption id="attachment_838" align="alignnone" width="962"] New trial override option inside the Plan edit page[/caption]

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.

Important Improvements

[caption id="attachment_837" align="alignnone" width="1440"] Redesigned Broadcasts page[/caption]

  1. 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.
  2. 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.
  3. 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.

Important Bug-fixes

  1. The new template previewer screen, introduced on 1.5.5, was behaving strangely in some particular situations. That was fixed;
  2. 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

  1. Integrating WP Ultimo with Zapier using Webhooks
  2. Configuring automatic domain syncing with Cloudways
  3. How to use the WP Ultimo Jumper to be more efficient

Complete Changelog

[crayon-5b0a1e8161c71320850873/]
 

Let me know your thought on our new release in the comments below!

Read more


WP Ultimo 1.5.5 – Release Notes

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.

 

 

[caption id="attachment_815" align="alignnone" width="1440"] Adds a top-bar to the template preview screen.[/caption]

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.

 

 

[caption id="attachment_818" align="alignnone" width="1439"] Activate/Deactivate for Plans[/caption]

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.

 

 

[caption id="attachment_819" align="alignnone" width="936"] Expiring/Expired Notification Emails[/caption]

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.

 

Bugfixes

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.

 

Complete Changelog

[crayon-5b0a1e8161fee537507427/]
 

Read more


WP Ultimo 1.5.4 Release Notes

Hello, everyone.

We are getting back to our regular schedule of new releases every 12 days or so with new features (with urgent fixes being released when necessary). Version 1.5.4 addresses some small issues reported by users, optimizes old parts of the code, and contain some cool long-waited features.

WooCommerce Integration Version 1.1.2 is also out with some fixes, as well as code to enforce that orders get automatically changed to completed after payment_completed() is called by the payment gateway, making sure WP Ultimo's hooks run when they need to (to renew subscriptions and send out invoices)..

New Features

Version 1.5.4 comes packed with a lot of cool features, including:

 

Roles per plan

Super admins can now select different roles for each of the plans in the network. These roles will be used during account creation, but any change in that settings will also refresh the roles of all users on that plan, giving admins a lot of control over what users on a given plan can see and/or do.

 

Templates per plan

Another long waited-feature is the ability to filter what templates are shown to the client when he selects a given plan. WP Ultimo now allows super admins to overwrite the Available Templates on the template selection step on a per plan basis.

 

Locking Post Types

Another featured added to plans was the possibility of locking post types altogether.

 

Better subscription date control

Up to our last version, WP Ultimo only allowed super admins to change subscription dates (most importantly, the active until date) up to the day. Now it is possible to change the hour and minute for more granular control and better testing. This was also extended to the expire date of coupon codes and other parts of the plugin. A small clock was also added to the WP Ultimo’s top bar to display the server time in real time.

 

Email notification for Super admins on domain mapping

In some network setups, domain mapping can require extra actions for the network admin. In those cases, it is useful to get a notification when a client maps a domain to his/her site. WP Ultimo now has a email template to do just that, sending an email to the network admin when a new domain is mapped on the network.

 

Plan and Billing Frequency added to the Subscription -> Add New page

The add new page now allows super admins to select which plan and frequency to use for the newly created subscription.

 

Activity Stream Widget

Super admins will now find in their Dashboard a Activity Stream widget, providing an overview of the most recent transactions on the network. This is the initial version of the widget and more useful information and events will be added as we continue to develop this feature.

 

Gravatar display on the Subscriptions list table

To help makes things more personal and to add a little bit of color to a rather dull-looking page, the Subscription list table now displays the gravatar associated to the email used in that subscription.

 

Important Fixes

Version 1.5.4 also includes important fixes, including:

  • “Block Frontend Access” not working;
  • Remaining time displaying the wrong value on the subscription management page;
  • Edge-cases where broadcasts messages where being displayed to non-targeted users;

Complete Changelogs

[crayon-5b0a1e81621a2986149009/]
[crayon-5b0a1e81621bc568651274/]

Read more


Release Notes – WP Ultimo 1.5.0 & WooCommerce Integration 1.1.0

Hello, everyone! Version 1.5.0 is here!

It solves a large number of issues being experienced by some users as well as implement long-awaited features from our roadmap. It also implements the necessary changes necessary to allow us to further develop WP Ultimo: Plugin and Theme Manager to include package sales.

Fixes & Improvements Overview

 

We fixed the issue some users were having with disk space not updating after an upgrade/downgrade. The original Network URLs are now added to the allowed list to prevent CORS issues when loading assets on mapped domains and more and more edge cases are covered in the SSL handling.

Another major fix was making the create_user function in the signup timezone sensitive. That prevents delays on Stripe and PayPal, resolving situations where a charge would take a few hours to process after a user integrated due to timezone differences, effectively locking the user out of his/her own site even after he/she initiated the payment process.

Multiselect fields on our Settings page are now sortable. Templates can now be sorted into the order the admin wants them to be displayed for the user on the front-end.

[caption id="attachment_743" align="alignnone" width="1439"] Now you can re-order the templates.[/caption]

Manual Gateway

Our Manual Gateway now handles change in plans more consistently and now checks if it needs to send the invoice right after integration, to prevent the same delay issue described above.

The Instructions to Pay field is now a WP Editor field with basic HTML support. A link called "Instructions to Pay" was added to the billing history below the pending payment line that when clicked opens a modal with the contents of the Instructions. Keep in mind that those instructions are also printed at the bottom of invoices - where HTML is not supported - so in that context, HTML tags will be removed.

Domain Mapping and SSL

In order to keep the Network Settings tab cleaner, we moved all the settings related to Domain Mapping and SSL to their own separate settings tab. A handy summary table was also added to that tab, to help admins visualize how the different settings interfere with each other.

Geo-location Restrictions

Starting from version 1.5.0, admins will now be able to restrict sign-ups geographically. You can select the list of Countries you want to allow and only users located in that country will be able to sign-up.

[caption id="attachment_745" align="alignnone" width="1440"] Geolocation is now supported on sign-up.[/caption]

Restricted Content Shortcode

Although we like to make clear that WP Ultimo IS NOT a membership-restrict-content-type plugin, we added a simple shortcode for restricting content. It can be used to display information selectively to subscribers on the main site or to decide whether or not an ad should be displayed to users accessing that site. More information about that shortcode can be found in the dedicated knowledge base post: https://docs.wpultimo.com/knowledge-base/shortcodes/

Password Strength Meter

Now there is a filter available to activate the default password strength meter for the signup flow. More information about how to achieve that can be found in the dedicated knowledge base article: https://docs.wpultimo.com/knowledge-base/adding-a-strength-meter-to-password-fields

WooCommerce Integration - Version 1.1.0

This version of WooCommerce Integration implements upgrade/downgrade and fixes a number of issues, making it more stable overall.

It also addresses the issue of having to have WooCommerce Network Active for it to work. Now, WooCommerce payments are possible even if WooCommerce is activated only in the main site of the network.

Complete Changelog - Version 1.5.0 - 04/11/2017

- Fixed: Manual Gateway handling upgrades and downgrades;
- Fixed: Change plan sometimes not updating the disk space quota of blogs;
- Fixed: Added edge case to domain mapping and the get_scheme function, to allow more flexibility to sub-domains installs using mapped domains;
- Fixed: Manual Gateway now checks if it should send the invoice on integration;
- Fixed: Incompatibility with Sitemap generators (thanks, Aron Prins =D);
- Fixed: Now WP Ultimo adds the original URL to the allowed cross-origin access array, to further prevent CORS issues;
- Fixed: Issue with sign-up redirects not being exact;
- Fixed: Relative time string on the Subscription page now support time spans larger than one year;
- Fixed: When the copy media option is disabled, we now remove the attachment posts related to each media file;
- Fixed: Small issue with creating new sites in some specific database environments;
- Fixed: Setup wizard link on the Mercator error message was broken;
- Fixed: We now check if the Stripe API was already loaded, to prevent fatal errors;
- Fixed: User creation now is timezone-sensitive, preventing delays in invoices and payments;
- Fixed: Spacing of integration buttons fixed;
- Improved: Multi-select fields on the Settings now can be sorted. That allow users to change the order of the allowed templates, for example;
- Improved: New option 'display_force' added to password fields. If checked, it adds a strength checker below the password field. More information: https://docs.wpultimo.com/knowledge-base/adding-a-strength-meter-to-password-fields/
- Improved: Form Fields helper function now gives the option to change the default value of the billing frequency field;
- Improved: Applied number_format to statistics widgets;
- Improved: "Instructions to Pay" field on Manual Gateway now supports is now a WP Editor field;
- Improved: Updated the Dutch language files - Thanks, Aron Prins;
- Improved: Moved the Domain Mapping and SSL settings to their own Settings Tab;
- Improved: SSL Settings Summary widget on the Settings page to help visualizing the SSL configuration;
- Added: Geo-location block added;
- Added: Restricted Content shortcode for plans and default content; More information: https://docs.wpultimo.com/knowledge-base/shortcodes/
- Added: New shortcode with the front-end URL of a user's site for the create account template email (WP Ultimo -> Emails);
- Added: Option to enable/disable SSO with enabled as the default behavior;
- Added: Manual Gateway now displays link to a modal containing Instructions to Pay in the pending payment row in the Billing History widget;
- Added: Table Updater checker added, to make sure custom tables are always in sync with their latest version;

Read more


The WooCommerce Integration Add-on is finally here!

Now you can extend your WP Ultimo payment options to allow your subscribers to use all of the many available methods on your WooCommerce install!

How it Works

The WooCommerce Integration works in a very similar way to the way our Manual Gateway works. it offers a ton of flexibility to your users, allowing them to chose any of the payment forms available on your WooCommerce install. The downside is that every payment must be paid manually at the end of the billing period. Here is how the flow works.

 

[gallery columns="1" link="file" size="full" ids="724,723,725,726,727,728"]

Recapping...

  1. The user chooses this payment option on his panel. The default label used for this payment option is “Dynamic Payments” (you can change it on the WooCommerce Integration Settings page).
  2. Once the user billing period ends, the user subscription is put on hold. At the same time, an order will be created on the WooCommerce install of the main site of the network. That order can be easily accessed from the Subscription Management screen.
  3. The user then receives an invoice in his email, with a link to perform the payment. That link will redirect him to the WooCommerce payment screen, where he or she will be able to select one of the available WooCommerce gateways.
  4. Once the payment is received, the subscription is renewed, the payment is logged on WP Ultimo and the order is set to complete.

Important Notes

  1. WP Ultimo: WooCommerce Integration requires WP Ultimo version 1.4.3 to work.
  2. Default functionality of WP Ultimo still works with this integration form. For example, issuing refunds from the Subscription Management Screen will communicate with WooCommerce to issue the refund using the selected payment form.
  3. WP Ultimo: WooCommerce Integration relies on WP Cron to work. This works very well most times, but if the site has low traffic then the cron is not prompted to check for scheduled events and the event is missed, which can cause execution delays.
  4. While this plugin was tested repeatedly under various circumstances, this is a beta release. Please contact us if you run into any issues by sending us a note at support@wpultimo.com.

Read more


Release Notes – WP Ultimo 1.4.0: A step towards building the Ultimate Subscription-based Network Solution

Hi, everyone!

Version 1.4.0 is here and it represents a major step towards making WP Ultimo the all-in-one solution for building premium networks.

This version is all about the Sign-up Process.

It implements template overridesa new API for adding steps and fields on the sign-up flowa complete redesign of how the sign-up flow processes account creation, with two very handy functions, custom signup URL, and much more!

 

Sign-up Flow

Templates overrides

We realize the importance of making WP Ultimo as customizable as we can. Each and every one of our customers wants to provide a customized experience to their users. That being said, having dozens of premium services with the exact same sign-up page design (the WP Ultimo sign-up page) does little to offer that WOW feeling we all want to give potential clients.

In order to address this "lack of customization" problem, we implemented template overrides in WP Ultimo.

How does that work? It is simple. WP Ultimo now uses WordPress template hierarchy to selectively load view templates for its pages. It will first check your theme's directory for template files and only if it does not find anything it will load the default templates shipped with it.

Don't like that way the pricing tables look? Just copy the pricing-table.php from wp-ultimo/views/signup/pricing-table/pricing-table.php to your_active_theme_folder/wp-ultimo/signup/pricing-table, make some changes and voilá: WP Ultimo will load that file instead of the original one.

[gallery size="full" columns="1" link="file" ids="599,602,601,600"]

WP Ultimo supports template overriding for all the templates inside wp-ultimo/views/signup and wp-ultimo/views/emails, so you can have total control over the sign-up process and how your emails look. Overriding of widgets inside the dashboard should be added soon!

Customized Sign-up page URL

You can also change the URL of the sign-up page to anything you want, from now on, replacing the old wp-signup.php.

[caption id="attachment_589" align="alignnone" width="978"] New Option: Sign-up Custom URL[/caption]

[caption id="attachment_590" align="alignnone" width="628"] New URL In Action[/caption]

Hide plan selection step for single-plan sites

Many premium networks offer a single pricing option. For those networks, it does not really make sense to have a plan selection step during checkout. Networks admins now have an option to skip the plan selection step altogether if they only have one plan in the platform.

[caption id="attachment_588" align="alignnone" width="978"] New Option: Skip Plan Selection[/caption]

 

Steps/Fields API and Customizer Form Builder

In order to provide even more flexibility, we completely redesigned the way WP Ultimo generates and displays its steps during sign-up. The API for custom fields was simplified and we now have two functions to handle sign-up extensibility: wu_add_signup_step() and wu_add_signup_field(). No more hooking into 3 different hooks as it used to be.

As a quick example, adding a new signup step to gather the client's first and last name is as simple as the code snippet shown below:
[crayon-5b0a1e8162490253098871/]

Saving and Retrieving Data

All the extra fields added to the sign-up flow get saved as default WordPress user meta data. That means that you don't have to do anything else in order to save the contents of the extra fields you've added to the signup. It just works. This data can then be retrieved using standard WordPress functions like get_user_meta.

We also added a handy shortcode to display that information on the front-end: [wu_user_meta]. It takes a user_id argument (which you can leave blank as it defaults to the current site's owner id) and meta_name, which describes the name of the meta info you want to retrieve. To get the user's last name, for example, you would simply add a [wu_user_meta meta_name="last_name"].

Another advantage of this approach is that WordPress already uses meta data to store major information about the user. If you create fields that match the specific keys used by WordPress, that information will get automatically updated. That means that in order to update the First and Last Name fields on the user profile's page, you can just create two fields with the ids of first_name and last_name, like in the example above.

Customizer Support

Having a neat way of adding steps and fields with simple functions is helpful, but we would like to take this one step further. WordPress comes equipped with a powerful customization tool - the Customizer - and WP Ultimo should be able to take advantage of it by allowing network admins to add, rename and reorder steps and fields directly on the customizer with live preview support.

Version 1.4.0 starts to implement those functionalities with Step Renaming and Reordering. Everything else is in place and we should be able to release adding new steps and fields directly from the customizer in the next couple of versions, a few days from now. As you can see in the demo below, the Customizer picks up custom steps added via the functions described earlier.

[caption id="attachment_596" align="alignnone" width="1440"] Customizer Integration: Reordering and Renaming[/caption]

Also, starting on version 1.4.0, all the styling options are mirrored on the customizer, meaning that you can now have instant feedback as you change colors and other elements.

[caption id="attachment_595" align="alignnone" width="1440"] Customizer Integration: Styling Options[/caption]

This first version of our Customizer Support can be accessed via the button present on WP Ultimo Settings -> Styling.

[caption id="attachment_598" align="aligncenter" width="1440"] Customizer Launcher[/caption]

Coupon Codes

Part of the coupon code handling was refactored in version 1.4.0. Network admins can now select between 3 different Coupon Code behaviors: disabled, coupon codes via URLs only (?coupon=CODE on the sign-up link) - where no field will be displayed on the sign-up form -, and allow coupon codes both via URL and via the sign-up field.ç

[caption id="attachment_586" align="alignnone" width="1023"] New Option: 3 different behaviors to handle Coupon Codes[/caption]

Copying the share link for the coupon code is much easier now and it can be done directly from the list table or on the Coupon edit's page.

[caption id="attachment_585" align="alignnone" width="1281"] Clicking copies the link to the clipboard[/caption]

[caption id="attachment_584" align="alignnone" width="1439"] Copying the Shareable Link directly from the edit page.[/caption]

Important: There is a backwards-compatibility break in the coupon handling: URLs containing coupon codes are now yoursite.com/.../?coupon=CODEHERE and not yoursite.com/.../?coupon_code=CODEHERE, as it was in previous versions. If you have links with coupon codes somewhere you should update the URL.

Plain Emails

WP Ultimo now allows you to send emails on a plain email template. This is useful if you plan to use any third-party plugin for email template customization. And just to remember you, these email templates can be swapped using the new template overrides functionality we discussed above.

General Fixes

A number of small fixes were solved in version 1.4.0, including broken URL and paragraphs handlers on the Broadcast Emails. WP Ultimo now only displays broadcasts published after a user on the target group registered, preventing new users from being bombarded by all the previously published Broadcasts.

Under-the-hood improvements

We've compartmentalized the process of creating new accounts on WP Ultimo into two different stages: user creation and site creation. That change will allow us to add the option of letting clients create only users (with no associated sites, like WP Multisite normally allows them to) in the future. Logs on the system info page can also be deleted and downloaded now. Despite PHP inability to handle async processes, we managed to use a new technique to allow our screenshot scraper to work without taking your site down up to 80 templates at a time.

What's next?

The priorities on our list are finishing up the customizer integration with full form-builder capabilities.

We run into some considerably large issues trying to implement single payments to our current gateway structure. That difficulty made it almost impossible to implement Extension Sales and Tax Settings (long waited features).

Our goal with the versions between 1.4.0 and 1.5.0 is to gradually rewrite those parts of the code (to ensure backwards compatibility), taking these new features into account.

That being said, we realize that we are well-beyond the promised date for the release of the Extension Sales feature on the Plugin and Theme Manager Add-on.

Due to that reason, if you bought the add-on solely because of that feature, in the hopes that it would arrive soon, just contact us via email and we will refund you on that add-on purchase even if more than 30 days have passed. 

 

Complete Changelog - Version 1.4.0 - 08/08/2017

- Added: Option to copy Coupon's shareable links on the All Plans and Edit Plan pages;
- Added: Templates overrriding for sign-up and emails;
- Added: Helper function to create users with subscriptions: wu_create_user();
- Added: Helper function to create a new WP Ultimo network site: wu_create_site();
- Added: Fields and Steps API to the Sign-up flow;
- Added: Helper function to add new sign-up steps: wu_add_signup_step();
- Added: Helper function to add new sign-up fields: wu_add_signup_field();
- Added: Deleting users and sites now removes the mappings associated with those sites;
- Added: Option on the Email Settings to allow plain emails to be sent;
- Added: Logs are now downloadable and delectable;
- Added: Option to hide the Plan Selection step if there is just one plan available on the platform;
- Added: Three different behaviors added to Coupon Code: disabled entirely, only via URL code or via URL code and Sign-up field;
- Added: New shortcode wu_user_meta to retrieve user meta information on the front-end. Useful for retrieving information collected during sign-up using custom fields;
- Improved: Shortcode wu_plan_link updated to work with the new Sign-up codebase;
- Improved: WP Ultimo now checks for empty user role options to rebuild them if needed;
- Improved: WP Ultimo now only displays broadcasts published after a user on the target group registered. This prevents new users from being bombarded by all the previously published Broadcasts;
- Improved: Better template selection field;
- Improved: Refactorization of the Screenshot Scraper: it now can handle up to ~80 without crashing;
- Fixed: WU_Colors being added more than once;
- Fixed: Coupon validation functions was not checking for post type, only for post titles;
- Fixed: Fixed some broken elements on the Coupon Codes list table;
- Fixed: Links breaking on Broadcasted emails;
- Fixed: Missing variable declarations inside template_list and pricing_table shortcodes;
- Fixed: Broadcast emails now supports multiple lines;

Read more



Release Notes – WP Ultimo 1.3.0

Hi, everyone! Version 1.3.0 is finally ready! It brings general improvements all over the UI as well as under-the-hood performance boosts. It implements needed changes to upcoming add-ons (like the Plugin and Theme Manager), a new template list shortcode and full Multi-Network Support!

 

Changes in the Versioning number use

As you may have noticed, this version is being released under version number 1.3.0. We are doing that to address one major issue that popped up during this development cycle and that was the major factor why it took so long for us to release it. From now on, we will reserve minor version numbers (e.g 1.x.0) for any release containing new features and keep patch version numbers (1.1.x) for - as the name suggests - patches. Only minor releases will get a Release Note post. Patches will be released as bugs are reported and fixed. That will allow us to quickly deploy important patches to all users without stopping the development of new features.

With that in mind, is time to dig in the new features and improvements.

 

Template List Shortcode

You can now use the shortcode [wu_templates_list] to display the templates on the front-end of your site. It can take the show_filters (with 1 for true or 0 for false).

 

Multi-Network Support

WP Ultimo now offers full compatibility with Multi-network support, the next level of multi-site abstraction. Each network will have separate tables for subscriptions, transactions, and site relationships despite sharing a single users table. We recommend that you use https://wordpress.org/plugins/wp-multi-network/ plugin to enable multi-network on your install.

[gallery columns="1" link="file" size="full" ids="447"]

 

Rich Text Content Editor on Text Fields

Some WP Ultimo settings that used to be available as simple text area fields now support a full-fledged rich-text editor. Some examples include the email content editor fields, the Pricing Table extra lines editor on the plan pages. Issues some users were having saving the data on those fields were also resolved, so no slashes are being added to the content after saving and links are working.

[gallery size="full" columns="1" link="file" ids="442,443"]

Add-ons, Multiple Accounts (beta) and extensibility hooks

This version also supports the direct install of free add-ons. We released our Multiple Accounts (beta) add-on, and it can be installed now directly from the add-ons page now with version 1.3.0.  Multiple Accounts bypass the WordPress email address check on certain plugins' registration forms (we only support WooCommerce in this beta version) to allow users on the network to create a new account on a subsite store or vice-versa (an user that created an account on a WooCommerce subsite store would be able to signup on your Ultimo network without getting an "email already taken error message"). We'll add more plugins to the supported list as we move on.

[gallery size="full" columns="1" link="file" ids="444,449"]

Plugin and Theme Manager: Extension Sales

We had (and are still having =/) some technical issues implementing the extension sales functionality for the Plugin and Theme Manager add-on. We are making progress, tough, and plan to release it in the next days (we are implementing the final transactions integration and testing). Keep an eye on the Add-ons Page of WP Ultimo (we'll probably send an email out as well =D).

Complete Changelog - Version 1.3.0 - 03/07/2017

- Fixed: Small issues with the template selection screen;
- Fixed: Email content editor saving URLs in a weird way, adding slashes;
- Fixed: Site Template description not being saved on the "Edit Template Info" screen;
- Fixed: Variable Dump including sensitive information;
- Fixed: Plan re-ordering not working on different languages;
- Fixed: WP Ultimo icon on multi-network;
- Fixed: Terms of Service field adding extra "\" after quotes;
- Fixed: Error on creating new sites from the admin panel with a plan and template;
- Improved: Uploads Quota can now be set as hidden on the plan pricing tables;
- Improved: Prefixed SweetAlert to avoid conflicts with other plugins;
- Improved: Replaced the content field for email templates with WP Editor;
- Improved: Added an ID to each plan HTML markup on the pricing tables;
- Improved: Added an extra check to the domain mapping (now called System) step on the Setup Wizard, to check if the right version of sunrise.php was loaded;
- Improved: Added an extra check to the System step on the Setup Wizard to make sure the logs directory exists and is writable;
- Improved: The features list field now uses a WP Editor widget, to allow the addition of bold text, italic, and links without editing HTML code, the same applies to the Broadcast message field;
- Improved: Add-ons page now handles installs for free add-ons;
- Improved: Duplicator now copies extra tables as well;
- Improved: Added hooks for adding extra elements to the Advanced Options on the edit plan and coupon pages;
- Added: wu_templates_list Shortcode added to display all the available templates on the front-end;
- Added: Warning message on the System Info tab if the logs directory is not properly configured to be writable;
- Added: Filters to change the labels and tooltip texts on the signup fields;
- Added: Option to enable or disable copying media files from the template sites;
- Added: Support to Multi-Network Environment (beta);
- Added: Readded the SSO script for single sign-on login;
- Added: Widget for Forum Discussions on the Network Admin;

Read more


Release Notes – WP Ultimo 1.2.1

Hi, everyone. Here are the release notes for version 1.2.1. It addresses some flaws on our previous release and implements some cool new features. Let's see what's new:

 

Subscription Filtering

We hope that your network grows and grows and as that happen, the number of subscribers on your service will reach large numbers, making it extremely difficult to find a specific subscription on the current version. Version 1.2.1 addresses that by adding a simple but elegant search input on the Subscriptions page. All the searching is done via ajax, so no page redirects needed!

General Improvements

We revised the whole domain mapping functionality, caching relevant things in order to improve performance. The permissions system was revised to prevent one user that has a subscription from being able to access the Account page of another site he or she was invited to. The site template thumbnail scraper was optimized and is now 50% faster than the previous versions. The bug on the "display on the pricing tables" option in the plan edit page was also fixed.

 

Improvements and changes to the Signup Flow

Template Filtering

The template selection filter now fully supports responsive design, turning into a select box on resolutions under 780px.

Payment Step

After the release of the last version, we discovered that WordPress has some consistency issues with session handling across different environments. That made impossible for us to keep the payment step as a feature since WP Ultimo would try to charge a unlogged user, and there was no way of knowing if the session would be kept and therefore if the gateway redirect would be successful or not.

The "Payment Integration Needed" screen, however, was redesigned to have a look and feel similar to the rest of the signup flow, so that transition now seems much more natural. This new design is being applied to all error screens of WordPress as well.

 

Terms of Use

The Terms of Use of your site also makes use of this new design, offering a much better reading experience to your user compared to the white screen with zero formatting used before. You can also edit your Terms using a full-fledged WordPress text editor.

[gallery columns="2" size="full" ids="364,365"]

Rollbacks

Other than the removal of the payment step, as mentioned before, we also had to remove SSO from this version due to unsolved issues. SSO is the part of Domain Mapping that handles cross-domain logins, meaning it is responsible for keeping you logged if you go from networkdomain.com to a mappeddomain.org, on your network. We are still working on a solution for this, but as of now, version 1.2.1 does not contain SSO, so if you go from the network domain to a mapped domain, you might be asked to log in again.

 

Next Steps

As we discussed on the previous release, we are now going to focus on developing new gateway integrations, add-ons and etc. Our top priority is delivering on Plugin and Theme sales on our WP Ultimo: Plugin and Theme Manager, but we will also start to work on other time-consuming integrations such as a Pro Sites Migrator and a WooCommerce integration.

We also changed the design of our documentation site and created a forum for the growing community that is being built around WP Ultimo. Visit our "Say Hello" post and tell us a bit about yourself!

 

Complete Changelog - Version 1.2.1 - 26/05/2017

- Fixed: Template categories sometimes appearing two times;
- Fixed: Not being able to remove items from pricing tables for plans;
- Fixed: Pagination on Subscriptions page take status into consideration now;
- Fixed: Weird redirects when enabling domain mapping;
- Fixed: Mercator error message being displayed even when the enable domain mapping option was deactivated;
- Fixed: WordPress Overwrite options on WP Ultimo Settings - Network not saving properly;
- Fixed: Prefixed the bootstrap classes we use;
- Fixed: Problem with template selection with resolutions under 780px and console messages;
- Fixed: Removed the payment step due to login inconsistency across different environment;
- Improved: Added a new style to the WP Error page to make it more consistent with the rest of the plugin, including the "Payment Required Needed";
- Improved: Switched screenshot scraper from file_get_contents to cURL for a 50% performance improvement;
- Improved: Added a more robust capabilities system to limit access to the Account page;
- Improved: Custom domain meta box now gives an error if the user tries to input a domain already being used in the network;
- Added: Shortcode wu_plan_link added to be used in custom pricing tables, use with plan_id and plan_freq;
- Added: Template selector turns into a select-box on resolutions under 780px;
- Added: Admins can search subscriptions on the subscriptions List Table - with ajax;
- Added: Terms of Service now can be set using a full-fledged editor, with prettier exhibition on the front-end;
- Issues: Removed SSO temporarily in order to prevent bugs from redirect loops until we can find a solution to the issues we are having with it.

Read more