BadgeOS™ allows you to gamify your WordPress site by rewarding users with digital badges, points and ranks for interacting with the website.

You can easily create unlimited achievements and ranks using different actions as triggers. You can also award different point types to your users based on the tasks they complete.

Documentation | BadgeOS Addons | Blogs | Developer Resources

Reward Your Users

BadgeOS allows you to add efficient gamification elements to your site:

  • Points: Award and deduct point types based on the user’s actions on the site.
  • Achievements: Award users for completing a specific task, set of tasks or collecting a certain amount of points.
  • Ranks: Create a user-hierarchy that your users can climb up as they interact with your site.

Open Badge Compliance

BadgeOS is the only plugin that allows you to create Open Badge Compliant achievements that contain digital information that can be verified on the site of the badge issues or using third-party verification tools.

Use A Wide Range Of Triggers To Award Badges, Points and Ranks

You can reward your users based on a wide range of triggers:

  • Log in to website
  • Login for X days
  • Not login for X days
  • Comment on a post
  • Comment on a specific post
  • Publish a new post
  • Visit a post
  • Award to author when a user visits post
  • Publish a new page
  • Visit a page
  • Award to author when a user visits page
  • Register to the website
  • Daily visit to the website
  • On User Birthday
  • Achievement to the first X users
  • After completing the number of days
  • After completing the number of months
  • After completing the number of years
  • Specific Achievement
  • Any achievement of a type
  • All achievements of type
  • Remove Achievements on points deduct

Ranks and badges can also be earned by meeting point thresholds. Additionally, admins can also manually award and revoke achievements, points and ranks.


BadgeOS’s extensive features include the following:

  • Achievements: Create unlimited achievement types such as badges, medals, and trophies.
  • Ranks: Build a hierarchy system for your users with different rank types and ranks (for example Tiers, Levels, Stages).
  • Points: You can award and deduct points and configure unlimited point types.
  • Open Badge Compliance: BadgeOS allows you to issue open-badge compliant, verifiable badges to validate knowledge and skills.
  • Shareable Badges: Badges are Mozilla Open Badge (OBI) compatible through integration of the “BadgeOS Social Sharing” add-on. User can share earned OB standard badges to Facebook, Twitter, Linkedin, and any other platform using embed code.
  • Required Steps Manager: BadgeOS uses a simple interface to define required steps to earn achievements, points and ranks. There is also an option to award badge by doing 1 step out of many.
  • Log Entries: The BadgeOS plugin provides an option to the admin to log all the gamification entries.
  • Not Earned Image Option: BadgeOS allows you to set a not earned image for the achievements. So users could view a different badge image until they earned that specific achievement.
  • Thumbnail Size: In BadgeOS plugin you can customize the thumbnail size as per your site style
  • Built-in Assests: BadgeOS now includes several free assets or icon image packs that can be used as default images for any of your achievement types.
  • Delete Data on Uninstall: If this option is enabled, it will delete all BadgeOS database entries on uninstall, including posts, setting options, user meta.
  • Default View: Using this option, you can determine whether certain BadgeOS shortcodes will be displayed as a list or a grid.
  • Shortcodes and Blocks: Shortcodes and blocks provide you with additional ways to insert BadgeOS content into any page or post
  • Widgets: The BadgeOS plugin provides several widgets to display BadgeOS information that can be placed anywhere your theme has designated as a widget area.
  • Email Notifications: With BadgeOS email notifications, you can send email notifications to users when they earn an achievement, rank or points.
  • Bulk Options: You can award and revoke achievements, ranks and points in bulk.

BadgeOS Integrates With The Best WordPress Plugins

Learning Management System





Enhance BadgeOS With More Functions With Our Add-ons

License Info

LearningTimes, LLC licenses BadgeOS to you under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.

There is NO WARRANTY for this software, express or implied, including the implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3, at for more details.


  • Example of multiple methods for awarding and defining achievements

  • Use BadgeOS to create an unlimited number of achievement types, and easily define how they relate to one another.

  • BadgeOS gives you a simple yet powerful admin interface for defining the "Required Steps" for any badge or achievement.

  • BadgeOS shortcodes make it easy to turn any WordPress page into an achievements page, regardless of the theme you are using.

  • Use the "BadgeOS Shortcode" button available in any WordPress content area to easily configure and insert a shortcode for any BadgeOS component. With just a click or two, you can add custom, dynamic achievement elements (such as lists of badges or other achievements, submission review pages, submission forms, or individual achievements) anywhere on your site.

  • Daily visit Trigger

  • Register to the website trigger

  • Point types on achievements

  • Earned point types on Profile

  • Rank requirement

  • Ranks data


This plugin provides 10 blocks.

  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS
  • BadgeOS


  1. Upload ‘badgeos’ to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Visit the BadgeOS menu to add Badges/ranks and set up new Achievement/Point/Rank types.
  4. Use the BadgeOS Shortcode button available from any content editor in our site to turn any page or post into a part of your achievement or engagement system. For example, add lists of badges or other achievements, submission lists, a single badge and much more. Visit the Help/Support section of the BadgeOS menu for more information on available shortcodes.
  5. See video tutorials about BadgeOS at:


How many point types can be created?

Unlimited point types can be created

How many rank types can be created?

Unlimited rank types can be created

What is the default rank?

Default rank is the one with the “0” priority. It will automatically be rewarded to all the users. If you don’t want to create a default rank then set its priority more than “0” like 1,2 etc.

What is the difference between rank and achievement?

An achievement can be earned multiple times but the rank will only be earned once. Achievement is like a step while rank is like a level.

Any ideas for making badge images?

Yes! After installing BadgeOS, enable Credly Integration in the BadgeOS menu. That will seamlessly integrate the Credly “Badge Builder” into your WordPress site so you can design your own professional-looking badge images. (First get a free account at if you do not have one.)

Can you help us design custom badge images?

Yes, our designers are available to create custom badges that represent your brand, the kind of achievements you recognize, and the audience you are reaching. From a single badge to a complete constellation, our team of professional badge designers get to know your needs through a tested Badge Design Process which consistently produces successful and delightful results.

learn more at:

Do you offer services to help us design, build or customize our BadgeOS site?

Yes, we do. We especially enjoy working on innovative projects with forward-thinking teams extending achievement recognition into new environments and surfacing achievement in new ways. learn more at:

Where should I report issues or bugs?

The ideal place for bug and issue reporting is on the GitHub site for the BadgeOS project.

Where should I contribute code back to the project?

Thanks for asking! Please do share back code modifications or enhancements you make for inclusion in BadgeOS core or as add-ons. (Functions that are specialized for just some users are likely best as add-on plugins to BadgeOS. We can help figure that out with you.) Visit us on GitHub to share your code with the BadgeOS community.


Abril 18, 2023
The plugin includes a lot of functions, which is great, but unfortunately, it also has too many bugs. It's taking us a lot of time to work around them, and some of the functions simply don't work properly. For example, the "badgeos_revoke_achievement_from_user" function is not functioning as expected, and some metadata, such as "_badgeos_achievements," is also not working properly. We have encountered other issues as well. Furthermore, the support team has not been responding to our inquiries. I am giving this plugin 4 stars solely for the opportunities it offers, not for the poor support and numerous bugs.
Marso 7, 2022
BadgeOS is the only solution that allows to issue Open Badges with Wordpress which are perfectly compliant with the standard. If you are a developer you have the total freedom to customize it thouugh extensive APIs, otherwise you can achieve a good level of tailoring using a vaste collection of add-ons. I definitely reccomend the product if you are in the process to implemtent Open Badges issuing to your business.
Setyembre 17, 2021
One thing about the BadgeOS Team is their dedication to promoting their super plugin and its equally super family of add-ons. Our team discovered a bug and informed them, and we were amazed at their dedication in dissecting and correcting the issue. That shows that the plugin and its users are in safe, dependable hands. Up BadgeOS!
Read all 73 reviews

Contributors & Developers

“BadgeOS” is open source software. The following people have contributed to this plugin.


“BadgeOS” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “BadgeOS” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


  • Fix: Minor issues.
  • Fix: Compatibility issues with PHP 8.

  • New: Shortcode/block to show BadgeOS user dashboard.
  • Fix: Email content issue.

  • Fix: Open badge integration pages.
  • Fix: Earned open badges download link in user profile.
  • Fix: Metabox value output conflicting with BadgeOS addons.
  • Fix: Limit issue for badge and rank awarding list in user profile.

  • Fix: CSRF checks.
  • Fix: Ajax request issues.
  • Fix: Evidence block issue.
  • Fix: Open badge verification issue.
  • Fix: Achievement double emails issue.
  • Fix: Widgets/blocks/shortcodes issues.
  • Fix: Bulk achievement award/revoke issues.
  • Fix: Triggers that can be used with specific options.

  • Fix: Shortcodes filename issue.
  • Fix: Minor issues.

  • improvement: Plugin coding standard.


  • Fix: SQL tainted queries.
  • Fix: Unsanitize parameters in shortcodes/widgets/blocks.
  • Fix: Steps saving issue with achievements/points/ranks.
  • Fix: Achievement/Ranks/Points image resizing issues from default settings.
  • Fix: Remove limit for downloading assets from assets menu.


  • New: Added “On User Birthday” trigger on achievements, ranks, and points award.
  • New: Added a tick mark on the last earned ranks single and listing shortcodes.
  • New: Added a tick mark on the last earned achievements single and listing shortcodes.
  • New: Added “Remove a Rank” and “Remove an Achievement” triggers on points deduct.
  • New: Added “Achievement to the first X users” trigger on Achievements.
  • New: Added “Points to the first X users” trigger on Points.
  • New: Added “Rank to the first X users” trigger on Ranks.
  • New: Added two new filters i.e “badgeos_attachment_email” and “badgeos_evidence_page_content” on evidence page.
  • New: Added wpautop() function on evidence page content.
  • New: Added the Achievement, Rank, and Points award Emails on the bulk award.
  • New: Added the option to add a badge and have it achievable by doing 1 step out of many ones under the achievement’s required section.
  • Fix: Updated the existing filters of the evidence page.
  • Fix: Improved the existing triggers.
  • Fix: Made the plugin compatible with the latest WordPress.
  • Fix: Minor Issues.


  • Fix: Content duplication issue in evidence shortcode.


  • New: Option last earned added in achievement list shortcode filter
  • New: New trigger After completing the number of day added in achievement / rank / points
  • New: New trigger After completing the number of month added in achievement / rank / points
  • New: More filters added for extending evidence shortcode content


  • New: Option added in achievements to get revoked on point deduct
  • New: Added login for x days trigger in achievement
  • Fix: Not earned image saving issue
  • Fix: Duplicate achievement/rank email issues
  • Fix: Minor CSS issues


  • Fix: Debug option issue
  • Fix: Widgets warning issues
  • Fix: Achievement list shortcode issue
  • Fix: Trigger step title visibility issue in achievments/ranks/points
  • Fix: Appearence of not earned image metabox on every post/page


  • New: Added not login for x days trigger in point deduct
  • New: Added not earned image feature for ranks
  • New: Added preheader text field tools/emails for badgeos emails
  • New: Added settings for enable/disable not earned image feature for badges/ranks
  • Fix: Customizer disabled items with astra theme
  • Fix: Points not awarding issue in bulk achievement award


Fix: Fixed single site license activation issue on multiple sites.
New: Added bulk achievement emails support for bulk rewarding achievements.
Fix: Fixed select box css issue related to tools page bulk achievement.
Fix: Database installation script will only run when there are new database updates or user is activating the badgeos.
Fix: Added minified badgeos css and js files with support of SCRIPT_DEBUG constant for debugging.
Fix: Removed Credly code from the system.


New: Added an option to define a Not Earned Badge Icon for display on Badge Page
New: Added new shortcode to display badge evidence information on achievement earned email.
Fix: Fixed evidence shortcode output.
Fix: Fixed multiple badge award issue on editing same comments.
Fix: Fixed license key issue for badgeos-addons.


New: Added User Ranks Widget
New: Added User Points Widget
Fix: Disables Credly Integration


New: Award users for completing the number of years
New: Award points to users for user’s birthday
New: Award author when a user visits post/page
New: Award points when a certain rank is achieved
Fix: Updated Congratulations message note
Fix: Daily Visit Website trigger is not working
Fix: Fix UI issues in Welcome screen


New: Added a Welcome page
New: Added Global and individual BCC and CC options on badgeos emails
New: Added multi-site support


New: Open Badge Verification pop-up enhancements to add issuer, issued by, expire date and issue date
New: Add option for users to unsubscribe from Earned Achievement and other configurable emails
New: Add a new trigger visit Any/specific post/page
New: Added two new action hooks for tools/email page i.e. badgeos_email_tools_settings_tab_header and badgeos_email_tools_settings_tab_content
Fix: Fixed a notice on api end-points due to new updates on wordpress 5.5
Fix: Fixed the user earned ranks shortcode design.
Fix: Added Save Settings message on the admin side of badgeos emails


New: Adds Assets section to get stock images for badges/ranks/points
New: Adds thumbnail support in user earned points
New: Adds Color configuration for making Branded Email templates
New: Adds Pagination support for User earned Ranks and User earned achievements functions


  • New: Removed the nomination and submission from BadgeOS Core
  • New: Added two new hooks to add new main tabs on settings page i.e. badgeos_settings_main_tab_header and badgeos_settings_main_tab_content
  • New: Added Unique Classes on front end on shortcodes to help hide content/apply styles
  • New: Provide a possibility to access Badge Evidence Page from User’s Dashboard through User Earned Achievement Shortcode and BadgeOS Earned Achievements Widget
  • New: Added a possibility to add Badge Evidence Page with a shortcode and Gutenberg block
  • New: Added 2 new action hooks on evidence page badgeos_evidence_after_left_column and badgeos_evidence_after_right_column
  • New: Added Ranks list Shortcode and Gutenberg block.
  • New: Added Single Rank Shortcode and Gutenberg block.
  • Fix: The bug of timezone not allowing automatic badge award on completing steps
  • Fix: The bug of Gutenberg due to which double points are awarded
  • Fix: Fixed the Download Link in user profile page
  • Fix: Fixed the undefined error on expire message when clicking verify button in open badge portion
  • Fix: No records found issue is fixed in shortcodes


  • New: Updated the BadgeOS Settings page layout
  • New: Added a link in OB Integration to recreate OB pages if someone missed it for the first time.
  • Fix: Fixed The error “TypeError: progressbar.progressbar is not a function” in console.
  • Fix: Added a dismiss button which will dismiss the Credly disconnection message forever
  • Fix: Fixed the achievement and rank images width/height issue in achievement and rank based shortcodes and widget
  • Fix: Fixed the error “badgeos_shortcode_embed_message not defined” in console


  • New: Added option to make the earned badges compatible with OB standards
  • New: Added option to set achievements/ranks image sizes globally
  • New: Added option to update image size from earned achievements/ranks shortcodes
  • New: Added option to update users points through ajax
  • New: Added user id parameter for earned achievements/ranks shortcodes
  • New: Removed Credly integration for new installations
  • Fix: Disable the BadgeOS emails by default
  • Fix: Fixed multiple required steps badge issue
  • Fix: Fixed conflict with theme the7
  • Fix: Replaced deprecated functions


  • New: Added default (list/grid) view option for achievement list and user earned achievements/ranks shortcodes
  • New: Added option to send email on earning achievements/points/ranks
  • New: Added option to edit/update the header/footer and content of the email
  • Fix: Revamped achievement list shortcode
  • Fix: Revamped users earned points shortcode
  • Fix: Fixed WordPress version ( below 5.0) compatibility issue
  • Fix: Enqueued CKEditor js code only on submission page to avoid conflicts
  • Fix: Revamped DB update script
  • Fix: Fixed WP deprecated function issue
  • Fix: Fixed Elementor plugin conflict
  • Fix: Revamped user achievement widgets


  • New: Added support for Gutenburg
  • New: Added option to display earned points/achievement/ranks with list/grid view
  • New: Added option to disable credly email
  • New: Added option to display titles from earned achievement widgets
  • New: Added new filters
  • Fix: Fixed Woocommerce and screen options CSS conflict
  • Fix: Fixed multiselect script conflict
  • Fix: UI Tweaks


  • New: Added option to update achievement post type and steps slugs
  • New: Added option to approve/deny nominations/submissions in bulk
  • New: Added new shortcode to display earned achievements for logged in user
  • New: Added new shortcode to display earned points for logged in user
  • New: Added new shortcode to display earned ranks for logged in user
  • New: Added new filters
  • Fix: Fixed site loading issue
  • Fix: Displayed approved/denied submissions/nominations on front-end
  • Fix: Fixed duplicate submission/nomination awarding issue
  • Fix: Fixed email notification issue


  • New: Set default point type as point type id parameter in badgeos_get_points_by_type()
  • New: Added post attributes for BadgeOS Rank Type posts
  • New: Added option to award/revoke achievements in bulk
  • New: Added option to award/delete points in bulk
  • New: Added option to award/revoke ranks in bulk
  • New: Added option to display the system information on tools page
  • New: Deleted user data on uninstall
  • Fix: Revamp rank award process
  • Fix: Updated rank count for users on revoking their earned rank
  • Fix: Updated labels for BadgeOS point types
  • Fix: Removed select2 js dependency from badgeos-shortcode-embed-js
  • Fix: Renamed BadgeOS get_parent_id function to avoid conflicts
  • Fix: Removed steps post type from metabox achievement array
  • Fix: Revamp function badgeos_user_deserves_rank_step_count_callback()
  • Fix: Removed slug fields from Points and Rank types
  • Fix: Fixed add-ons licensing issues
  • Fix: Hide earned achievements on front-end if show to users is not allowed
  • Fix: Revamp BadgeOS shortcode embeder code to avoid select2 version conflicts
  • Fix: Fixed widget notification issues for deleted ranks and achievements
  • Fix: Fixed deduct point trigger issue
  • Fix: Altered ranks and achievements table structure


  • New: Added option to update the existing achievements with regards the point types
  • New: Added default thumbnail for the rank post
  • Fix: Fixed conflict with scormcloud plugin
  • Fix: Fixed the point and rank type pages 404 issue


  • New: Added option to upgrade db from plugin setting page
  • New: An email will be sent to admin on completing the db upgrade
  • Fix: Changed db upgrade query to work as background process
  • Fix: Fixed the BadgeOS shortcodes popup layout issues


  • New: Added option to create multiple point types
  • New: Added option to award/deduct points on completing steps
  • New: Display users’ earned points with types on user profile page
  • New: Added option to create multiple rank types
  • New: Displayed users’ earned ranks on user profile page
  • New: Added option to select point type when awarding points with achievements/ranks
  • New: Saved users’ earned achievement to custom db table rather than saving in meta data
  • New: Added option to transfer users’ earned badges meta data to custom db table by clicking on a button
  • New: Added new actions hooks to extend the user achievement section
  • New: Added two new triggers. “Daily Visit” and “Register to the website”
  • Fix: Fixed conflict of BadgeOS with WooCommerce Membership add-on
  • Fix: Improved log entry message texts


  • New: Added action hook to run when revoking badges
  • Fix: Fixed any/all achievement trigger count issue
  • Fix: Improved logic for displaying load more button
  • Fix: Fixed the select2 js conflict
  • Fix: Sanitized nomination and submission posts action fields
  • Fix: Removed approved/denied submissions/nominations from frontend
  • Fix: Removed steps from user profile page


  • Fix: Fixed BadgeOS user capabilities issues
  • Fix: Improved meta box field value sanitization


  • Fix: Fixed CMB2 notification issue on plugin activation


  • Major Release: This is the major release of BadgeOS in which we have upgraded the Custom Meta boxes script in the plugin along with other new features and bug fixes. Please visit plugin’s page first for guidance.
  • New: Multiple achievement listing shortcode on same page
  • New: Upgraded cmb script
  • New: Added trigger info in user achievement meta
  • New: Added option to delete earned badges in bulk from user profile page.
  • New: Added new trigger to delete/revoke user points when user is not logged to the site since X days.
  • New: Added option to add negative value to the points so that user points can be deducted too on completing the selected events.
  • Fix: Specific post comment trigger issue
  • Fix: Deleted related step post type on deleting badges
  • Fix: Dependant achievement loop issue
  • Fix: All achievement trigger badges is awarding as any achievement
  • Fix: Infinite loop issue for any achievement of type
  • Fix: Permalink issue on the user profile page when actual badge is deleted
  • Fix: Upgraded sequential step logic


  • Fix: Attachment on post Submissions
  • Fix: Display notification on setting page
  • Fix: Nomination admin email notification


  • New: Option to toggle badgeos log entries. See the option at Settings page.
  • New: Option to “Delete All Log Entries” from database. See the option at Log Entries page.
  • Fix: Uploaded attachment not being saved
  • Fix: Compatibility with PHP 7.x (Tested upto PHP v7.2)
  • Fix: Retrieve uploaded attachment regardless of post type
  • Tweak: Defensive code checks (Thanks @jonmoore)

  • Typo: Updated version in the class property


  • Fix: Compatibility with PHP 7.x (Tested upto PHP v7.1)
  • Fix: Frontend submission html formatting
  • Fix: PHP warnings on frontend submission
  • Fix: Added Sanity check for $comment_data variable which prevents PHP notices and warnings
  • New: Configurable option to delete plugin data on uninstall
  • New: 50% Portuguese (Brazilian) translation

  • Fixed: Woocommerce compatibility issue fixed by upgrading to Select2 Version 4.
  • Updated: Upgraded Select2 from Version 2 to Version 4, modified Shortcode implementation accordingly.

  • Fixed: Hidden Badges issue where hidden badges were getting displayed though they are set hidden
  • Fixed: Disabled filter button to fix the issue where multiple search results displayed when the filter submit button is clicked repeatedly
  • Fixed: Maximum earnings for Achievement earned through completing steps did not earn points more than once
  • Updated: Increased Max-length to 3 for the number of times an achievement step needs to be performed to earn an achievement by completing steps

  • Fixed: BadgeOS 1.4.8 CKEDItor script blocked other scripts in queue from executing
  • Updated: Set CKEditor to Standard version
  • Updated: CKEditor CDN URL for SSL


  • Added: Save Draft feature for achievement submission and comments
  • Added: CK Editor – Rich Text Editor for all front end text area
  • Added: Meta Box added for attachment on a specific submission
  • Added: Meta Box added for attachment in comments
  • Fixed: All Achievement Type auto submission success message not getting displayed properly
  • Fixed: Completion steps – All Achievement of Type Badges not getting updated as Achieved when the dependent achievements are completed
  • Fixed: Maximum Earned Achievment bug for unlimited earning
  • Fixed: Removed confirm submission popup on refresh while re-submitting achievement


  • Fixed: Remove empty() check that prevented point updates from being logged.
  • Fixed: Corrected incorrect usage of PHP time() function.


  • Fixed: PHP variable typo introduced in 1.4.5.
  • Fixed: + marks introduced in Earned User Achievement Widget form output.
  • Fixed: Amended query statement preparation for multisite-based functionality.
  • Fixed: Minor code cleanup in Earned User Achievement Widget.


  • Fixed: Prevent false positives on “users who have earned achievement” listings.
  • Fixed: Prevent potential empty array of achievements.
  • Fixed: Added unique ID to single achievement shortcode output.
  • Fixed: esc_attr() on some attributes.
  • Fixed: Prevent submission and nomination columns from showing outside of submission and nomination pages.
  • Fixed: Pass user ID to badgeos_maybe_award_achievement_to_user call inside badgeos_update_user_points().
  • Fixed: Prevent steps from being listed in achievement type list in Steps UI.
  • Fixed: Prevent media library “litter” with default thumbs up graphic being added multiple times. Now will check for existing copy of graphic before downloading new.
  • Updated: Provided PHP5 compatible widget constructors in preparation of WordPress 4.3 changes.


  • Improved checks to prevent achievement type switching when editing achievement types.
  • Added a check to ensure multisite is active before calling multisite functions.
  • Added internationalization strings and updated pot file.
  • Inline documentation improvements.


  • Fix issue with user scores being zero’d out when they save their profile in WP Admin.
  • Added French translation files. Credit:
  • Made it possible for admins to award achievements, that can be earned multiple times, to users via the User’s admin profile
  • Misc code tweaks.


  • Updated: Achievement Types now support menu ordering.
  • Fixed: Eliminated a fatal error in the nomination saving process.
  • Fixed: Updated submission manager role setting to correctly show the selected value.
  • Fixed: Additional hardening for achievement-type migration so that it doesn’t happen prematurely due to autosave.


  • Fixed: Eliminated a critical bug that could cause all posts to be migrated to a brand new achievement type on publish.


  • Added: BadgeOS Shortcode Embedder – Easily add any shortcode to any content area with a few clicks.
  • Added: BadgeOS Shortcode registration API – Easily add support for new BadgeOS-related shortcodes and modify existing shortcodes with automatic support for the BOS Shortcode Embedder and help page.
  • Added: Submission Manager Role selector – allow users to moderate submissions without granting them full access to BadgeOS administration.
  • Added: Submission Notification Admin Settings – Specify an unlimited number of email addresses in a comma-separated list for submission admin notifications.
  • Added: Submission Notifications to users who have made a submission.
  • Added: Several new submission notification types – new submission, new comment, and submission status change
  • Added: User Email Notification Setting – Users can opt-out of email notifications in the profile editor.
  • Added: Trigger for commenting on specific posts.
  • Added: Many hooks for modifying shortcodes, submission lists, and more.
  • Added: Baseline support for renaming achievement types, including the auto-migrating all achievements (and user earnings) from original achievement type to the new.
  • Added: Helper functions for checking if user meets BOS management roles.
  • Updated: Revised trigger for commenting on posts to only award when comment is approved.
  • Updated: Submission status can now be altered on the front-end from approved to denied or back again.
  • Updated: Admin area for editing a submission now uses the same approve/deny buttons as the rest of the site.
  • Updated: Submission Lists are now highly customizable via WP hooks. The search input, filter inputs, and even the results can be altered programatically.
  • Updated: Many, many internationalization enhancements. Help us release BadgeOS in your language!
  • Updated: BadgeOS management role selector is hidden on the settings page to non-admins.
  • Updated: Badgeos management role selector now excludes contributor and subscriber roles.
  • Fixed: Rewrite rules automatically flush when a new achievement type is added (or an existing is renamed).
  • Fixed: BadgeOS settings can now be modified by the minimum selected management role.
  • Fixed: Prevent users from repeatedly earning auto-approved submissions.
  • Fixed: Submissions List status filter now indicates the displayed status on page load.
  • Fixed: Lots of other minor bugs.


  • Fixed: Eliminated an error when attempting to use Credly Badge Builder over SSL
  • Fixed: Eliminated some PHP warnings


  • Updated: Upgraded bundled CMB library to 1.0.8.
  • Updated: Upgraded bundled posts-to-posts library to 1.6.3-alpha.
  • Updated: Corrected several outdated PHPDoc comments.
  • Updated: Added quotes to all shortcode examples for clarity.
  • Fixed: Properly award “all achievements of type” step trigger when triggered.
  • Fixed: Prevent awarding a user’s triggered triggers to current admin.
  • Fixed: Prevent awarding a user’s triggered triggers on the incorrect site (in multisite).
  • Fixed: Prevent users from incorrectly resubmitting earned achievements to Credly.
  • Fixed: Pass explicit user ID on “send to credly” AJAX calls.
  • Fixed: Minor CSS tweaks to BadgeOS user profile fields.


  • Added: Spanish language translation.
  • Fixed: Eliminated a recursion issue with the badgeos_award_achievement action hook.
  • Fixed: Users can send new submissions if previous submisson was denied or approved (until they’ve reached the maximum earnings for the achievement).
  • Fixed: Corrected sort order on front-end step output.
  • Fixed: Updated Earned Achievements Widget handling for achievements with spaces and special characters.


  • Fixed: Small issue with Credly Badge Builder API headers.


  • Fixed: Achievement step stort order (in admin).
  • Fixed: Prevent duplicate stock achievement thumbnails per achievement type.
  • Fixed: Bug with Credly Badge Builder API connection.


  • Added: Credly Badge Builder – Build your own unique badges directly from the post editor (requires Credly account).
  • Added: badgeos_is_achievement() to check if a given $post or $post_id is a BadgeOS achievement.
  • Added: New [credly_assertion_page] shortcode for Credly Pro users.
  • Added: Specify a custom message to include with Credly notification emails
  • Updated: badgeos_award_achievement_to_user() now checks that the passed $acheivement_id is a real achievement.
  • Updated: New achievements now have a default max earning of 1 (blank for infinite).
  • Updated: BadgeOS Help page now links to Github, instead of just mentioning it.
  • Updated: Detailed “Credly Sharing” options are only visible on the achievement editor when achievement is set to “send to credly”.
  • Updated: “Featured Image” text now says “Achievement Image” when working with an achievement post.
  • Fixed: Added variable type check to badgeos_get_user_achievements() to prevent PHP warning.
  • Fixed: Earned achievements will no longer show “Send to Credly” when setting is disabled.


  • Added: “Add-ons” menu now has a catalog of new plugins to extend BadgeOS in exciting ways.
  • Added: Introduced a suite of “user activity” functions for tracking a user’s active achievements.
  • Updated: Add-Ons admin page now dynamically pulls all available add-ons directly from
  • Updated: Improved support for WP Multisite installations
  • Updated: Earned Achievements widget now sorts achievements with newest-earned first.
  • Updated: Earned Achievements widget now supports displaying all OR specific achievement types.
  • Updated: [badgeos_achievements_list] shortcode now supports multiple achievement types, using either type=”all” or by separating the achievement names with a comma, like: type=”badge,quest,level”.
  • Updated: [badgeos_achievements_list] shortcode now supports “orderby” and “order” parameters so you can control how achievements are sorted.
  • Updated: BadgeOS Log Entry functions are now filterable and can be overridden (more on this in 1.3).
  • Updated: Added hooks to Help/Support page so add-ons can include their own content.
  • Updated: We now set a default thumbnail for new achievements and achievement types.
  • Updated: We now display a warning on the Achievement Type editor if a title exceeds 20 characters.
  • Updated: Removed some redundant checks in the rules-engine to make process more performant.
  • Updated: Relocated a few functions to make codebase easier to navigate.
  • Fixed: We now hide the container for an earned achievement’s congratulations text if there is no congratulations text.
  • Fixed: The Earned Achievements widget and the Send to Credly functionality sanely fall-back to the parent achievement’s thumbnail if the given achievement doesn’t have one set.
  • Fixed: Eliminated a bug with the “Add Media” functionality due to a conflict with the Canvas theme by WooThemes.
  • Fixed: Cleared out many minor, but annoying, PHP warnings


  • Added: New triggers for publishing new posts and pages
  • Added: [badgeos_achievement] shortcode to display a single achievement on any post/page, see BadgeOS Help/Support for parameter details
  • Added: [badgeos_submissions] shortcode to show a filterable/searchable list of submissions, see BadgeOS Help/Support for parameter details
  • Added: [badgeos_nominations] shortcode to show a filterable/searchable list of nominations, see BadgeOS Help/Support for parameter details
  • Added: New meta box showing attachments for a Submission in the admin dashboard
  • Added: Earned achievement message on an achievement single page which shows if a user has earned the achievement
  • Added: New widget to display the Credly Credit Issuer badge
  • Updated: Achievements widget with option to display user’s total points
  • Updated: [badgeos_submission] shortcode to accept achievement_id parameter
  • Updated: [badgeos_nomination] shortcode to accept achievement_id parameter
  • Updated: New filter for controlling whether or not a user is allowed to spring a trigger
  • Fixed: Nomination user select field from displaying twice on the page
  • Fixed: Nomination listing page from displaying the wrong status for the nomination
  • Fixed: Nomination form/listing now displays a user’s submitted nomination and limits them to submitting a single nomination


  • Updated: Only show “People Who Have Earned This” when there is at least one earner
  • Updated: Localization strings have been updated throughout for easier translating
  • Updated: Submissions and Nominations were originally publicly searchable, they are now private
  • Fixed: Prevent earning an achievement more times than “max earnings” allows
  • Fixed: Prevent earning steps with no parents
  • Fixed: Prevent earning unpublished, private or trashed achievements
  • Fixed: Inability to earn “any [achievement type]” steps
  • Fixed: Inability to earn “all [achievement type]” steps
  • Fixed: Filter for “Completed Achievements” (would sometimes show ALL achievements if user had earned none)
  • Fixed: A PHP warning that would sometimes appear when manually awarding an achievement via user profile editor
  • Fixed: A number of minor behind-the-scenes bugs that annoyed our PHP developers


  • New: Added “Display users who have earned achievement” option to achievements
  • Updated: BadgeOS Add-Ons admin page now shows current BadgeOS add-ons
  • Updated: [badgeos_achievements_list] shortcode now shows send to Credly link on earned achievements.


  • Fix: The “Award an Achievement” section on the User Profile page now grabs the appropriate custom post type slugs.
  • Fix: Updated an incorrectly named function.
  • Fix: Stop completed filter from showing all achievements if no achievements have been completed
  • Updated: Achievement display and awarding UI improvement.
  • Updated: [badgeos_achievements_list] shortcode now supports show_filter and show_search attributes


  • BadgeOS says “hello world”, earns “Hello World” badge.