WishList Member Logo

WishList Member Accounts

Manage your WishList Member account, subscriptions, downloads, and more!

WishList Member v3.14 Build 8158


  • WishList Member Gutenberg Blocks
    • Pay Per Posts Block
    • Profile Form Block
    • Member Levels Block
    • Login Form Block
  • Digistore24 Payment Provider
  • Groundhogg Email Provider
  • Anonymous Usage Tracking (opt-in required)

Fixes and Updates


  • Updated the label text for “When this happens” and “Then Do This” in Level Actions
  • Fixed an issue where the Registration Date Reset setting for Active Levels doesn’t work when a canceled user re-registers to that level.
  • Fixed Level actions not being listed due to incorrect table name in SQL query


  • Fixed issue where the actions wishlistmember_addpp_posts_user and wishlistmember_addpp_pages_user aren’t being initiated when a PPP is added to user.
  • Edits not being saved

Payment Providers

  • WooCommerce
    • Fixed the issue where changing the status of a renewed WooCommerce subscription into canceled or on-hold will not reflect on the user level’s membership status.
    • Sends email every renewal of a subscription that’s tied to a level
    • Sequentual upgrade not set when user is created by WooCommerce
  • Stripe
    • Fixed an issue where some level subscriptions will show as “not connected to a stripe plan” in the profile shortcode due to different stripe customer IDs.
    • Fixed issue where existing users who purchases using Stripe integration aren’t being processed by other integrations such as LearnDash and TutorLMS
    • Fixed reset date not working on automatic recurring payments
  • ClickBank
    • Fixed an issue where purchasing ClickBank products with upsells will show an IR001 error when confirmed pages are turned off in the client’s ClickBank Account.
    • Incorrect popup label and title in admin UI

Email Providers

  • ActiveCampaign
    • Added the functionality for TAG ACTIONS to automatically create the user account in WishList Member and add them to a Level or PPP if the email address isn’t yet added as a WordPress user on the site.
    • Fixed an issue where the new member emails for users who got added through ActiveCampaign Tag Actions will have their passwords show as asterisks even when it’s sent for the first time.
    • Fixed incorrect tab labels for ActiveCampaign Membership Level Actions admin UI. This got introduced in hotfix build 7921.
  • FluentCRM
    • Fixed welcome emails not sending when added to level via tag actions
    • Fixed a bug for the fix in build 8003 where the email macro uses Level ID instead of Level Name and the password shortcode appears instead of asterisks.
  • AWeber
    • Updated cURL deactivated notice to: “Aweber API integration needs the cURL PHP extension to be enabled for it to work”

Other Providers

  • LearnDash
    • Fixed an issue where new member emails are not being sent when members are added through LearnDash Course or Group Actions.
  • Presto Player
    • Fixed an issue where WishList Member cannot be activated when using MySQL 5.5. Changed the data type of the created_at column from timestamp to datetime to fix the “WordPress database error Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause”.
  • Webhooks
    • Included address and custom field data to outgoing webhook


  • Manage
    • Fixed Level History added and cancellation dates on import
    • Fixed the issue where the custom fields information collected in Custom Registration Forms using text fields are not being displayed.
    • Fixed broken pagination when filtering by level
    • Cannot delete user
    • Calculating expiring members not working due to fatal error
    • Cancellation scheduled even if no date is provided
    • Active level names not showing
  • Sequential Upgrade
    • Fixed error on saving when switching back type from “on” to “after”
    • Unicode characters not properly displayed on dropdown
  • Email broadcast
    • Fixed queued emails not sending
    • Cannot delete broadcast
  • Import
    • Sample import csv is not valid
  • Data Privacy
    • Unicode characters not properly displayed on dropdown


  • After registration redirect for levels that require email confirmation not working according to global settings
  • Broken message-type after registration redirects for sites that do not have permalinks enabled
  • Recaptcha always fails due to improper numeric exact match comparison in ReadURL. corrected a few other improper numeric exact match comparisons.
  • Email confirmation does not redirect to after registration page after confirmation
  • Clicking email confirmation link now redirects to the after registration page whether or not auto-login after confirmation is enabled.

Advanced Options

  • Global Defaults
    • Error Pages
    • Not working when set
    • Protection
      • Only Show Content for Levels
      • Added filter to be able to exclude specific posts/contents
  • Logins
  • Fixed lock icon for password not showing up due to wrong class in Styling Templates CSS

Content Protection

  • Fixed protection inheritance not reaching 2nd level content onwards
  • Fixed inconsistent $call_record index in pass_protection()

Content Control

  • Content Archiver
    • Fixed the issue with unprotected custom post type being redirected to the wrong membership level error page. This happens with custom post types with the same title and slug. One is unprotected and the other one is protected and archived.
    • Fix error message from settings not showing when trying to access an archive page, it shows 404 instead
    • Fixed a bug where having multiple levels assigned as protection to an archived content will show an error 404 page instead of the Content Archiver error message.
    • Fixed an issue where an archived post will not get protected if there’s another post with the same name which is unprotected and WP query’s values for post_id and post_type are empty.
    • Archive dates wiped out when saving from post/page editor
  • Content Scheduler
    • Fixed undefined variables warning


  • Broken wlmapi_is_user_a_member() function
  • Fixed incorrect order by field causing API queue items to not be processed. This affects payment and email integrations, backup, and member import

Shortcodes / Mergecodes

  • wlm_profileform: Added options to show/hide each field such as First Name, Last Name, Nickname, Display Name, Email, Mailing List Subscription, New Password.
  • wlm_payperpost : Added support for total, liststyletype, showmoretext, totalshowmore, buttonstyle, ineditor.
  • wlm_payperpost: added ‘sortby’ parameter which supports the following values:
    • ‘date-assigned’ (default) Date at which the pay per post was assigned to the user
    • ‘date-published’ Pay per post’s publish date
    • ‘post-title’ Pay per post’s title
  • wlm_register : stay on page where the shortcode is placed if there is a registration error.

Post/page metabox

  • Protection data being pulled from the wrong content for some reason. note: cannot be replicated, could be a siteground-only issue

Plugin Compatibility

  • Compatibility fix for plugins that check for the WishListMember3 class name such as Thrive Apprentice.
  • Fixed conflict with AffiliateWP causing WishList Member to send the password reset message when an affiliate registers


  • Retrieve password not working
  • Profile photo is lost when updating the profile without a photo being uploaded
  • Licensing
    • License checking not performed on update
    • WP_Http section of license verification always return false. Can affect license checking.
  • Login widget
    • Login widget just redirects to homepage without logging in
    • Incorrect “Register” link
  • Form Controls
    • Added media_type option [file, image] in image uploader form control
    • Change image uploader so that buttons will be at the bottom
  • PHP
    • Fixed headers already sent error when setting cookie
    • Updated code to use WordPress’ wp_max_upload_size() function for file size for Backup, Migration and Member import
      • wlm_parse_size() is now just a wrapper for wp_convert_hr_to_bytes()
      • wlm_get_file_upload_max_size() is now just a wrapper for wp_max_upload_size()
      • Both wlm_parse_size() and wlm_get_file_upload_max_size() are no longer used by WishList Member and may be removed in the future.
    • Undefined index: expire_option in wishlist-member/classes/class-member-methods.php on line 2392
    • count(): Parameter must be an array or an object that implements Countable
    • Fatal error: Uncaught Error: Function name must be a string
    • array_merge(): Expected parameter 2 to be an array, null given
    • Fatal error: Uncaught Error: Cannot unpack array with string keys


  • Applied coding standards using WooCommerce’s coding standards as basis.
  • Renamed methods from CamelCase to snake_case. Ex. GetOption() is now get_option(). Calls to CamelCase methods still works but will trigger a deprecated error message.
  • Split god objects into smaller interface classes
  • INSERT queries to use $wpdb->insert() when posssible
  • UPDATE queries to use $wpdb->update() when posssible
  • Removed package TinyMCE and Codemirror JS files and used WP’s version instead.
  • User_Search class: removed code copied and pasted from WordPress