After considerable delay, the 1.7 beta is now available for download! This version comes with tons of new features and under the hood improvements.
In this article I will walk through some of the new features coming to myCRED 1.7 and welcome you to help me beta test. Beta testing will help make sure we squash as many bugs as possible before it’s official launch in early May.
Version 1.7 requires WordPress 4.0 or higher!
Sell Content Add-on
Multiple point types, new shortcodes and improved settings.
Multiple Point Types
The Sell Content add-on has been completely re-written in order to allow content sales using multiple point types and not just one particular type. Users are automatically presented with the payment options they can afford allowing them to choose which point type to pay with.
Support for sales of large number of contents
Up until now, you would need to set posts for sale one by one, or use a custom code snippet to enable sales of multiple posts. In 1.7, the add-on has a new feature enabling you to set content for sale by default! You can select which post type you want to sell and it also has a filter that allows you to for example set all content in a particular category for sale automatically.
Administrators can of course still override this on a post by post basis or even change the price.
No more AJAX option – just AJAX
As of version 1.7, all content sales will be handled using AJAX. This means that the mycred_sell_this_ajax shortcode is no longer needed. Instead, the add-on now only uses the mycred_sell_this shortcode if you want to sell access only to parts of your content. As before, the shortcode usage is not mandatory, you can still sell the entire content field.
The new add-on has also received a few new shortcodes:
- mycred_content_sale_count – Shows the number of times the content has been sold.
- mycred_content_buyer_count – Shows the number of distinct users that has purchased the content.
- mycred_content_buyer_avatars – Shows a list of avatars of the users that has purchased the content.
New Bank Transfer Gateway and updated pending payments.
The buyCRED add-on has received a new “manual” payment gateway called “Bank Transfer”. You can rename the gateway and use it for check or other form of manual payments.
Pending Payments Editor
The pending payments editor has received a face-lift and I have removed anything not relevant to each order.
New badge editor interface and multiple requirements.
When updating to 1.7, you will need to go and edit each badge you have created in previous versions and make sure the settings are correct. Even if they are, you are recommended to save anyways.
The badges add-on has been re-written to add support for multiple requirements! Old badges are automatically updated and you can add more requirements for each badge and badge level if you prefer.
You are no longer limited to use one particular point type / reference or calculation but instead combine multiple items at will.
New Badge Editor
In order to add support for multiple requirements, I had to re-write and re-design the badge editor. It is now in-line with other myCRED edit screens and follows the same over all design.
Better styling support.
Version 1.7 comes with full Bootstrap support. All widgets and shortcodes have been updated to render elements that Boostrap will style for you. I have also updated CSS classes and ids to help you further customize your installations look and feel.
New Experimental Admin UI
Attempt to make myCRED easier to manage and understand.
When Editing Users
The user editor screen has been updated and I have removed the use of the tabs. Instead, balances, badges and ranks are all shown on the same page using the styling WordPress provides for other items on the same page.
The balance editor has also received a facelift. I have also added in an option for you to view a users recent points history right in the editor.
Just as in earlier versions, you can access the editor on the Users page in your wp-admin area. If you use multiple point types, you can edit each point type balance individually.
New in 1.7 is the option to add a log entry with a reference. Before all manual edits has been logged under a unique reference. But now you can give points for other instances.
The biggest management change comes with the Hooks module. Based on the widgets management setup in WordPress, hooks are now enabled by dragging them into the “Active Hooks” sidebar. Once a hook is dragged into this sidebar, it is automatically activated.
I consider this change experimental and it’s future depends on your feedback. If it makes hook management easier it will stay. I am hoping that this will help slim down the learning curve for users new to myCRED Hooks.
Note that the feature “Hooks based on roles” has not been included in this version. In order to allow hooks to be managed based on a users role, most, if not all, hooks must be re-written. Until I have found a way that can make this transition either easy or better, unnecessary, the feature will not be included. I do aim to have this sorted out during the 1.7 lifespan.
The myCRED Log
Improved editor, filters and column options.
You can now select which columns you want to show or hide when viewing the admin log under “Screen Options”. Any custom columns that you might have added in previous versions should still work with the new setup.
The filtering options for the log has been improved. You can filter by reference, users numeric ID, username or email and you can select to filter the log by a specific date. While hovering your mouse over a log entry, the Date column will offer you a new option called “Filter by Date”. Clicking on this link will show entries only for that same day. You can also now simply filter by a specific user amongst the user entries.
The log editor has been updated to allow you to change the amount and reference as well as the entry field.
Just as before, you can edit log entries in your admin area when viewing the log for any particular point type.
Changing the point amount in the log will not adjust a users current balance. Since you are editing the record of a past event, your change will only affect a users total balance.
I have added the option for you to enable / disabled front-end or back-end exports of log entries. You can export entries in two formats:
- Raw – Ideal for backups or if you intend to import the log somewhere else. Entries are exported exactly as they are stored in your database.
- Formatted – Formatted exports will parse the log entry for any template tag you might be using and will only show the columns: Date, Reference, Amount (Points name), Point Type and the Entry.
The log now also provides bulk options allowing you to select multiple log entries to delete or export.
Log Table Formatting
I have fixed a few styling bugs with the log table, including for example the navigation bar. With added Bootstrap support the table also renders much nicer without any added CSS.
The new mycred_total_since shortcode allows you to show the total number of points a user has gained since a specific date.
Other Improvements & News
- Compatible with WordPress 4.5
- Compatible with PHP7
- Added animation when a balance is updated in the admin area.
- Brand New and simplified setup.
- The transfer widget now supports the same attributes as the mycred_transfer shortcode.
- New export tool and settings.
- Added option to set a point type for the minimum or maximum balance requirements for coupons. Also enabled scheduling for coupons.
- The mycred_link shortcode now supports using shortcodes in the title.
- The BuddyPress hook now supports rewarding points for updating cover image and adding an update to your favorites.
- Added options for Statistics add-on to set the colors used for each point type.
Featured that did not make the cut
A few features will not be introduced as promised with 1.7 but instead been pushed forward:
JSON API – I have made progress on this but have still a fair bit of work to do. I do not want to postpone the 1.7 launch just because of this so instead, this feature will be introduced during the 1.7 lifespan.
Hooks by Role – I do have a nice concept that would work nicely with the new Hook management layout to allow you to set hooks based on a users role. You could enable certain hooks for one role but not for another for example. This however poses a big issue – how to store this information without or with limited need to change existing hooks. Over the years I have written a lot of hooks and right now it seems we will need to update them all to add support for this.