WishList Member v3.8 Build 7381

New Features

Dashboard Tools

  • Shortcode Creator – allows the admin to generate WishList Member shortcodes without having to go to the post editor
  • Quick links to:
    • Backup
    • Version Rollback
    • Email Broadcast

Member Action Button

  • Added wlm_member_action_button shortcode which generates a button that allow members to add/move/remove/cancel/uncancel themselves to/from a membership level or a pay per post
  • Hides/shows menu items based on whether a user is logged-in, logged-out, member of a level, or not member of a level

Updates and Fixes

Payment Providers

  • Authorize.net ARB
    • added link_text attribute to shortcode
    • fixed incorrect info for recurring payments in the shortcode inserter description
  • 2Checkout API
    • Added link references to the documentation and the PHP library.
    • Added SKU as the merchantOrderID.
    • Removed Startupfee in the data we passed when processing the payment as this is being added together with the initial fee for recurring payments.
    • Fixed issue where the payment process doesn’t work. The checkout form just outputs the error “There was an error processing your request, Please try again.” even with a valid credit card.
    • Fixed issue where on some sites the user is just redirected to a 404 page after payment.
      Note for developers:

      • Refactored how tokens are generated/validated.
      • Added “Waiting..” text when the user clicks the pay button and the form is generating a token before it redirects the user to the payment processing.
      • Added the 2Checkout PHP API Library and started utilizing this instead of the manual way processing payments via CURL.
  • Stripe
    • Minor updates for the translation support of the Payment Interval text.
    • Removed wlm_stripe_linkback shortcode as there’s no callback specified since before v2.93. This is most likely vestigial code
  • WooCommerce
    • Fixed the issue where editing a product in WooCommerce removes the product’s set up from the integration when it is linked to a payperpost.

API2

  • Added support in /member resource for sending email notifications (new member and admin notification) when a user gets added to a Pay Per Post via the WishList Member API.
  • Fixed issue for /content resource where levels that have access to all posts / all pages are not being included on the list of levels that have access to a post/page.

Levels

  • Auto Create Account
    • Added wishlistmember_user_registered action when auto-creating an account since the action is used by integrations and the WishList Member for Infusionsoft plugin
  • Levels Scheduled Action
    • Allow admins to delete scheduled level action from members

Shortcodes / Mergecodes

  • Grouped mergecodes and shortcodes in the inserter dropdown
  • Fixed issue with using non-English characters in wlm_profileform shortcode.
  • Fixed properties not being set for some shortcodes
  • renamed shortcode inserter handle from wishlist-member-tinymce-lightbox-js to wishlistmember-shortcoder-inserter-lightbox-js
  • added $WishListMemberInstance->short_codes property – populated by shortcodes_init()
  • added $WishListMemberInstance->merge_codes property – populated by shortcodes_init()
  • moved declaration of $WishListMemberInstance->IntegrationShortcodes to property section of class instead of in the constructor as it’s just an empty array to start with anyway

Registration

Registration Form

  • Added wlm_form_id to POST data. wlm_form_id contains the ID for the form that was used. Possible values are:
    • DEFAULT-XXXXXXXXXXXXX
    • CUSTOMREGFORM-XXXXXXXXXXXXXXX
  • Incomplete Registration
    • Issue where on some sites the registration page being shown after a purchase or clicking the incomplete registration URL is the “Add To level” instead of the initial level the user bought. This happens because on some sites the entry of the “add to level” is the one being added first

Pass Protection

  • Fixed pass protection feature applying settings to “children” that are actually auto-saves and similar. This also fixes a conflict with the Advanced Custom Fields plugin

WordPress

  • Fixed issue with Export personal Data under WordPress Tools menu where the Request Email Template was messed up with extra ### and the link also doesn’t work because all characters were converted to uppercase.

PHP / JavaScript

  • Fixed issue where it displays a PHP Fatal error: Uncaught Error: Call to undefined function apache_get_modules() when activating WishList Member on some sites.
  • Fixed a few more undefined index notices
  • Fixed repeat declaration of constant
  • Fixed Run-time warning strtoupper() expects paramater 1 to be string.
    • Fixes conflict with BuddyBoss where the export data confirmation email link does not work.
  • Fixed JavaScript error in the post/page editor due to dash in JSON property defining the custom post type name

Other

  • \WishListMember\User class
    • Added active_levels property. Property is an array of level IDs that are active for the user
    • Added load_payperposts(), add_payperposts(), and remove_payperposts() methods
    • added RemoveLevels() method
  • Added support to accept multiple index parameters to traverse multi-dimensional arrays/objects to the wlm_arrval() function. Ex. $some_array['foo']['bar'] = 'xyz'; wlm_arrval( $some_array, 'foo', 'bar') will return ‘xyz’
  • Added the following new WP filters to facilitate adding/removing of entries to the shortcode inserter
    • wishlistmember_shortcodes
    • wishlistmember_mergecodes
    • wishlistmember_integration_shortcodes

WishList Member v3.7 Build 7338

  • Fixed Stripe issue where slashes are being displayed when the Pay button label contains single quotes (‘)
  • Added translation support to the Stripe Payment Interval text. (eg. Every Month, Every 3 days)
  • Fixed Run-time warning ‘”continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”?’
  • Fixed PHP Fatal error at home page when Content Scheduler is enabled
  • Fixed Zapier integration sending the same trigger to the same URL more than once
  • Fixed bug in Members > Manage where admin cannot remove level/s from multiple members at the same time
  • Fixed comments not being shown even to members who have access to it
  • Fixed Javascript conflict in post editor meta box with Yoast SEO if classic editor plugin is enabled or site is using a non-Gutenberg versions of WordPress
  • Fixed CSS positioning of password field eye icon on themes that do not specify box-sizing
  • Fixed issue where the membership level in the admin email notification for “new members” being sent is the “Add To Levels” instead of the level the user purchased.
  • Fixed issue where categories cannot be accessed by members of a level with access to All Categories enabled
  • Fixed API HTTP Digest Authentication causing 401 to be sent even if legacy authentication is already good
  • Added code that attempts to fix broken level data (wpm_levels) due to corrupted serialized data
  • Added wishlistmember_get_option filter in GetOption

WishList Member v3.7 Build 7310

New

  • Added capability to pass protection to new child pages in the WishList Member section of the post edit screen
  • Added capability to pass protection settings from the parent content to all child content by clicking a button in the WishList Member section of the post edit screen
  • Added capability to hide/show the password in WishList Member login forms generated by the login form shortcode and the WishList Member widget
  • Added WishList Member version in ping result for Zapier
  • Added support for phone numbers and address when adding/updating members (add_member endpoint) for Zapier. Valid field names are phone_home (stored as custom field custom_phone_home), phone_work (stored as custom field custom_phone_work), phone_mobile (stored as custom field custom_phone_mobile), companyaddress1address2citystatezip, and country
  • Added label setting to One-Time Login Link to allow changing the text from “Send me a One-Time Login Link” to anything that the admin wants.
  • Added id to data being sent by the outgoing WebHook where id is the WordPress user id
  • Added HTTP digest authentication as a way to authenticate with the API (username is wishlist and the password is the API key as shown in Advanced Options > API)
  • Added support for adjusting registration dates in the API’s POST /levels/{level_id}/members resource if ObeyLevelsAdditionalSettings was passed and it’s enabled in the level’s additional settings
  • Added wishlistmember_only_show_content_for_level filter in the OnlyShowContentForLevel() method. This filters the $content as passed by the WordPress pre_get_posts action. If the filter returns empty, then OnlyShowContentForLevel() will immediately return without further processing.
  • Added wishlistmember_excluded_post_types filter in wlm_post_type_is_excluded() function
  • Added wishlistmember_post_inheritance_child_name filter to allow changing “Content” to whatever makes sense for a post type. This filter is used in the WishList Member section of the post edit screen
  • Added wishlistmember_add_user_levels_shutdown which fires during the shutdown process. This is similar to wishlistmember_add_user_levelsexcept that it fires during the WP shutdown process allowing for time for further processing to be made to the level/s that were added
  • Added wishlistmember_process_protection filter. This filters the redirect URL before it is set. Valid return values are STOP (terminates the execution of Process()), NOACCESS/CANCELLED/EXPIRED/FORCONFIRMATION/FORAPPROVAL (redirects to the appropriate WishList Member error page), or a valid URL.
  • Added wishlistmember_instance() which simply returns the global $WishListMemberInstance. This makes it easy to access the WishList Member instance in any scope without having to declare it as global

Fixes

  • Fixed issue with API where updating a member can change/remove the first name, nickname and display name
  • Fixed BuddyBoss “Page Not found and profile pages” issue. We no longer run protection when current page is part of the the currently logged in users profile page.
  • Fixed issue with the page set as the BuddyBoss Activity page displaying the “Not Found” title when both BuddyBoss and YOAST are active.
  • Fixed broken Shortcode Inserter for reverse private tags
  • Fixed issue where the Zippy Courses product’s Access settings are not being saved.
  • Fixed Login Template 11 background size not accepting values
  • Fixed issue with adding members to multiple levels in the Members > Manage section wherein the first level added said today’s date but the other 4 levels show the original join date.
  • Fixed conflict with MailPoet, Thrive Theme Builder and WishList Member where the admin cannot save details for Managing subscriptions in MailPoet.
  • Fixed email integrations issue where members are added to a list even when their registration requires admin approval or email confirmation. Affected email integrations are arpReach, Constant Contact, ConvertKit, Generic, GetResponse, Interspire Email Marketer, Mad Mimi, MailerLite, MailPoet, Maropost, Moosend, and SendFox
  • Fixed duplicate entry database error for LicenseStatus
  • Fixed PHP Run-time warning due ignore_user_abort() being disabled for security reasons
  • Fixed invalid index PHP error
  • Fixed array_intersect(): Argument #2 is not an array PHP error

WishList Member v3.6 Build 7259

Setup

  • Levels
    • Added per-level recipient for new member admin notification
  • Integrations
    • Payment Providers
      • Stripe
        • Fixed issue where the new member notification for both admin and user are not being sent when the user purchases another level while logged in.
        • Fixed Pay button becoming disabled if no plan is selected and the focus moves out of the coupon code field. Only happens if more than 1 plan is configured for the level
        • We now passing the Name to the Customer Details in Stripe.
        • Changed default value of “Immediately cancel Stripe Subscription and Level in WishList Member when the user cancels their subscription via the Stripe Profile Shortcode.” from checked (immediate) to unchecked (periodend)
        • added coupon=”1″ to shortcode so admin knows that it is there and can be changed to “0”
      • WooCommerce
        • Fixed issue where The first name is not being set when a user purchases a WooCommerce product integrated with a membership level.
    • Email Providers
      • Fixed issue where member is not added to autoresponder if completing an incomplete registration. Affected autoresponders are arpReach, Constant Contact, ConvertKit Generic Integration, GetResponse (API), MadMimi, MailerLite, MailPoet, Maropost, MooSend, SendFox, SendStudio
    • Other Providers
      • BuddyBoss
        • Fixed conflict between BuddyBoss, Yoast and WishList Member where the other pages on the BuddyBoss’ member’s profile page that are not “view” and “edit” will display a “Not Found” on the page title.
        • We no longer run protection when current page is the currently logged in user’s author page or edit page
      • iDevAffiliate
        • added logging of requests to via WordPress transients. Logs are kept for 30 days only
      • Tutor LMS
        • Added option to remove from a course in Level Actions
      • LearnDash
        • Fixed issue where the search filter on the Learndash courses page shown by BuddyBoss doesn’t work.

Members

  • Sequential Upgrade
    • Changed wording from “x foo After Registration” to “after x Foo”
    • Fixed issue where configuration shows “None” even if it is set if the sequential upgrade list is paginated and the destination level is on a different page than the source level

Administration

  • Email Broadcasts
    • Changed width of recipient email from 6cols to 12cols for unsubscribe notification

Advanced Option

  • Global Defaults
    • After Registration
      • Fixed issue where the Global After Registration doesn’t work when it’s set to the option “Message”. If it’s set to “Message” the after registration redirect being used is the one saved on the “Page” option.
    • Email Notification
      • Restored capability to set the email address of the admin to be notified. This was lost in the move from v2.9 to v3.0

Others

  • Fixed issue where the user gets redirected to the “Wrong Level” page when they try to access a Thrive Apprentice Course even if their membership level has access to “All Categories”.
  • Fixed a few PHP notices
  • Fixed issue where activating the plugin generates unexpected output

WishList Member v3.6 Build 7215

Stripe

  • Fixed issue where it triggers a critical error after user completes the payment if the site runs PHP 7.2 and lower
  • Integration area can sometimes render as blank due to Javascript error if site have Pay Per Posts configured

Other

  • Fixed Javascript error value passed to set_form_data is [null]

Shortcodes

  • Applied the settings of inactive WishList Member widget to the wlm_loginform shortcode if there are no active WishList Member widgets.

WishList Member v3.6 Build 7211

Integrations

  • Payment Providers
    • ThriveCart
      • Fixed long API key issue with Thrivecart.
    • Stripe
      • Fixed issue where the line items in the Stripe’s invoice (Stripe’s profile shortcode) are not showing correctly.
      • Fixed coupon handling when there are more than one Stripe button/forms in a page
      • Fixed displayed subscription plan currency on form to display actual currency as configured in Stripe
      • Disabled payment button while checking for coupon code validity
      • Required customer to select a plan prior to payment if there are multiple payment plans available
      • Admin Area
        • Correct the value of the products dropdown after saving
        • Added capability to select multiple plans under the same product in the admin area. This translates to the customer being able to select a payment plan of choice in the popup payment form.
        • Changed label from “Stripe Plan” to “Select Stripe Plan(s)” in the admin config area
        • Changed “One Time Payment” label to “One Time Payment (Custom Pricing)” in product configuration modal
      • Added support for one-time payment plans (Price endpoint)
        • Updated SDK to 7.44.0 which supports Price endpoint
        • Added support for coupons for one-time payment plans. Since there’s no documented way of doing this at the invoice level, this is currently achieved by applying the coupon at the customer level prior to charging the invoice and then removing the coupon from the customer after the invoice is charged. This will be updated as soon as Stripe’s API adds support for coupons at the invoice level.
  • Email Providers
    • ConvertKit
      • Fixed issue where subscribing the user to the list doesn’t work when the data saved in our settings is on this format
    • MooSend
      • Fixed name not being sent
    • MailerLite
      • Fixed first name and last name not being passed
    • SendFox
      • Fixed name not being sent
    • AWeber API
      • Lengthen the queueing of Aweber API calls to prevent API limit error
  • Other Services
    • eLearnEcommerce
      • Added support for eLearnCommerce Upsell feature
    • WebHooks
      • Added option to accept GET requests if POST data is not found for incoming webhooks

Members

  • Manage
    • Fixed: Toggle for compact view is missing if there is no pagination
    • Fixed: Name and address fields show up as custom fields under the other fields tab when editing a user
    • Added option to require/not require email confirmation when an admin adds a user to a level. options are:
      • Use Level Requirements – will make use of whatever is set for the level
      • Require Confirmation – will force email confirmation irregardless of level settings
      • Do NOT Requirement Confirmation – will NOT require email confirmation irregardless of level settings
    • Added option to require/not require email confirmation when an admin adds a user manually. Options are:
      • Use Level Requirements – will make use of whatever is set for the level
      • Require Confirmation – will force email confirmation irregardless of level settings
      • Do NOT Requirement Confirmation – will NOT require email confirmation irregardless of level settings
    • Added the following new actions
      • Resend Email Confirmation Request
      • Resend Incomplete Registration Email
      • Both actions allow the admin to manually resend said emails
    • Fix placeholder for Add to Level notification
  • Sequential upgrade
    • Fixed: Broken sequential upgrade UI if a destination level no longer exists. Typically happens when a destination level is deleted
    • Fixed upgrade on date being set to Jan 1970 if it is empty

Content Control

  • Content Archiver and Scheduler
    • Fixed: Content Archiver and Scheduler custom error messages does not update when admin change it from the settings

Advanced Options

  • Global Defaults
    • Other
      • Fixed missing textarea fields when HTML values are provided.

Registration

  • Fixed issue where Active members that belongs to an expiring level cannot re-register.
  • Fixed: Users get admin role if WP default role is set to “Administrator” and the user is added via any of the following:
    • API
    • Integrations and the level setting “Enable Auto-Created Accounts for Integrations” is turned on
    • Webhook integration
    • Zapier integration
  • Changed color for link & changed opacity of the paragraph for better readability in popup payment forms

Login

  • Updated “Username” label to “Username or Email Address” for login shortcode and login widget
  • We no longer perform WishList Member redirects if login is made through AJAX
  • Fixed issue where doing the One Time Login action on the WordPress login page goes to a 502 Gateway error page when the site is hosted on WP Engine.

Shortcodes

  • Fixed issue where the expiration date being displayed is 1/1/1970 when the user doesn’t belong to the level indicated in the expiration shortcode.
  • Fixed broken TinyMCE Shortcode Inserter if level names has single quote (‘) character
  • Added hide_mailinglist parameter to wlm_profileform shortcode. default value is “no”

Protection

  • Hide/Show Feature
    • Post Lists is empty if there are too many protected posts
    • Filtered protectedIds by post_type if query is based on taxonomy

Activation

  • Fixed activation conflicts with Thrive Themes Builder

API

  • Auto-generate nickname if not provided. Behavior is as follows:
    • Use first_name if set, if not user display_name, if not use user_login
    • Then strip @ and everything that from the generated nickname. this prevents email addresses from showing up as nicknames
  • Auto-generate first_name from nickname if not provided
  • Auto-generate display_name from first_name if not provided
  • All of the above prevents the username from being the default nickname, first_name and display_name as it is possible that the email addresses will also be used as the user_login which is used as the default value for the abovementioned fields.
  • Refactored the initial generation of display_name from using implode to simply using the concat operator
  • Cast $member_id as integer
  • Remove unnecessary urldecode() when getting member details
  • If content is not protected, just return true in member_can_access()
  • Fixed use of undefined constant warning

Compatibility

  • BuddyBoss
    • Components pages protection
      • Fixed issue where the components pages such as the Groups and Activity aren’t being protected by WishList Member.
    • Members page
      • Fixed issue where the protection of the page set as the member’s page in Buddyboss isn’t working.
    • Protection on currently logged in users profile/edit page
    • Protection on currently logged in users profile/edit page
    • We no longer run protection when current page is the currently logged in users author page or edit page.

Other

  • Recommended WP 4.9.6+ and PHP 7.2+ in plugin description
  • Added tooltip to “Add To” settings in Setup > Levels
  • Added tooltip to “Would you like to automatically give this level access to specific content?” in Setup Wizard
  • Changed http links to https in selfcheck

WishList Member v3.5 Build 7145

  • PHP
    • Fixed critical/fatal error if site is running PHP 5.6 or lower
  • Shortcodes
    • Fixed wlm_contentlevels shortcode displaying Array instead of just blank

WishList Member v3.5 Build 7141

  • Setup
    • Levels
      • Added one-time login link shortcode in email templates. The mergecode is [one_time_login_link redirect=””], label is One-time Login Link
      • Added “email confirmed notification” under Setup > Levels > Requirements > Require Members to Confirm Email
    • Integrations
      • Supported different API keys for integrations that connect via the WishList Member API in addition to the default API Key provided under Advanced Options > API. This allows changing of an API Key for a specific integration without affecting the others. Affects
        • Payments/JVZoo
        • Payments/PayBlue
        • Payments/PayKickStart
        • Payments/SamCart
        • Payments/SendOwl
        • Payments/ThriveCart
        • Emails/Drip
        • Others/ResponseSuite
        • Payment Providers
      • Plug&paid
        • Updated code to comply with new standards set by plug&paid
      • Stripe
        • Fixed issue where clicking the “Pay” button on the Stripe checkout form doesn’t do anything when the Stripe integration is set to LIVE but the user purchases using a test card. We now show an error about the user using a test card. This error wasn’t showing before.
      • Pin Payments
        • Marked integration as legacy
        • Added message at the top saying it has been discontinued
        • Email Providers
      • Added Automizy Integration
      • Updated the following email providers to “action-based” events
        • MadMimi
        • Maropost
        • Interspire
        • ArpReach
        • ConvertKit
        • GetResponse API
        • Generic
      • Other Providers
        • WP Courseware
          • Fixed the PHP Warning Invalid argument supplied for foreach().
        • IDevAffiliate
          • Fixed issue where prices that has are more than 999 are displayed as single digits in the modal edit section. For example, if the price is 1000, it will be displayed as 1.00 when editing the price.
  • Administration
    • Email Broadcasts
      • We no longer include unconfirmed members to the recipients of the email broadcast.
  • Advanced Options
    • Global Defaults
      • Emails
        • Added global default for “email confirmed notification”
    • Logins
      • Settings
        • Added “Show One-Time Login Link Option on Login Page” option. Email template is also provided. The mergecode to generate the link is [one_time_login_link redirect=””]. The option will show up on the WordPress login page, WishList Member login shortcode and WishList Member login widget
      • Styling
        • Fixed broken media picker if json_encode fails
        • Template 01
          • Fixed height issues with the form and layout
          • Fixed responsive breakpoints for mobile devices
        • Template 03
          • Fixed issue on buttons width being limited
        • Template 05
          • Fixed issue on buttons width being limited
  • Registrations
    • Fixed issue where the wrong membership level registration form is showing to the user after payment. This happens when the original level purchased by the user has an “Add To Level(s)” Actions set to it.
  • Performance
    • Improvements to TTFB
      • Removed call to get_plugin_data. used constants instead
      • Replaced multiple calls to WishListMember::GetOption with a single query in level_email_defaults.php
      • Removed unnecessary calls to WishListMember::GetOption in ppp_email_defaults.php

WishList Member v3.4 Build 7100

Setup

  • Levels
    • Fixed incorrect Expiration Date calculation if WordPress Date Format is d/m/y
    • Pagination causes level dropdowns to not include all levels if there is more than one page to paginate
  • Integration
    • Payment Providers
      • Fixed Javascript error that prevents integration page to load if there are no PayPerPosts
      • Fixed: “Products” tab not loading if there is recursion in post_types data (possibly caused by other plugin). Issue is known to affect Stripe, possibly affects others.
      • ThriveCart
        • Fixed: Existing Members who purchases other levels aren’t getting added to those levels.
    • Email Providers
      • ActiveCampaign
        • Fixed issue where ActiveCampaign doesn’t work
      • MailPoet
        • Fixed: error 500 when adding a member if MailPoet integration is active but the MailPoet plugin is not enabled
    • Other Providers
      • BuddyBoss
        • Fixed issue where users are not being added to the BuddyBoss group as configured in the Buddyboss integration.
        • Added Default Action Settings for New Group and Profile Type
      • GotoMeeting API PHP Error
        • Fixed “Class ‘WishListMember\Webinars\GTMAPI_OAuth_En'” PHP Fatal error
      • LearnDash
        • Fixed “Invalid argument supplied for foreach()” PHP Warnings
        • Fixed: If added to multiple levels, only the first level LearnDash setting is being applied

Members

  • Sequential Upgrade
    • Fixed: Broken email notifications dropdown
    • Fixed: Broken UI when a new membership level is added
    • Fixed: MOVE settings are lost after upgrading to 3.4 Builds 7098 and below
    • Fixed: Settings not showing up

Post Editor

  • TinyMCE Shortcode Inserter
    • Updated loading method

Login Templates

  • Template 01
    • Fixed link layout issues
  • Template 09
    • Fixed button hover issue

Other

  • Fixed: UTF-8 characters aren’t being displayed correctly in custom fields on the Edit Profile page.
  • Updated design for selfcheck

WishList Member v3.4 Build 7073

Release Date: May 13, 2020
Fixed: unexpected ‘interface’ (T_INTERFACE)

Affected users are those running PHP 5.6 and have any of the integrations below enabled.

  • Aweber API
  • ConvertKit
  • Drip
  • MailChimp
  • MailPoet
  • SendLane

WishList Member v3.4 Build 7064

New Integrations

  • Elementor
  • Lifter LMS

Protection

  • Fixed issue where protected files keep getting unprotected.

Levels

  • Fixed: Level inheritance where child levels inherit parent level settings even if the parent is no longer in a member
  • Added pagination if there is more than 25 levels on the page
  • Fix issue where RedOakCart, Ultracart and Generic integrations doesn’t account for the delay as set under Registration > Enable Auto-Created Accounts for Integrations
  • Fix issue where the set “Username Format” isn’t being applied.

PayPerPost

  • Fixed: Configured after registration redirect for PayPerPost doesn’t work.
  • Fixed Member Notifications Email issue with Image HTML tag
  • Fixed pay per post title not showing when editing
  • Added sort parameter to wlm_userpayperpost shortcode. values can be ascending or descending. default is ascending

Integrations

  • Fixed: Removing items from dropdowns that accept multiple values don’t work. Affected integrations are:
    • Payment Provider: Infusionsoft
    • Email Provider: ActiveCampaign, Drip, iContact, Infusionsoft, Mad Mimi, MailChimp, Maropost, Ontraport, Sendlane
    • Other Services: BuddyBoss Platform, eLearnCommerce, LearnDash, Sensei LMS, Tutor LMS, WebHooks, WP Courseware
  • Payment Providers
    • Fixed ntegrations that do not trigger when admin approves level with For Approval Status
    • WooCommerce
      • Fixed issue where protection doesn’t work for pages set as the WooCommerce “Shop Page”.
      • Grabbed address from WooCommerce order and added it to WishList Member user
    • Stripe
      • Added a setting on each of the Stripe products that allows Cancelling the Stripe Subscription when the membership level of the user gets cancelled in WishList Member.
  • Email Providers
    • MailerLite
      • Updated to action-based events
    • Moosend
      • Updated to action-based events
    • SendFox
      • Updated to action-based events
    • MailPoet
      • Fixed: Actions for removed and cancelled not working
    • InfusionSoft
      • Added support for uncancel actions
    • SendLane
      • Renamed Reregistered to Uncancelled
    • Other Services
    • Fixed: Data with ‘ and ” are saved as \‘ and \“
    • WebHooks
      • Fixed: Deleting an incoming webhooks deletes ALL incoming webhooks
      • Fixed implementation of new_users_only and new_members_only
      • Modified return values to return the error code
      • Added “new_members_only” parameter support for “add” actions. if set to true then we only allow registrations if there is at least one level in the webhook’s “add” configuration that the user is not yet a member of. field also accepts URL in which case the system will redirect to it on error.
      • Added “new_users_only” parameter support for “add” actions. if set to true then we only allow registrations if email is not yet in the database. field also accepts URL in which case the system will redirect to it on error.
      • Returned error on failure to add a member
      • If action is “add” and email already exists then add the levels to the existing user, otherwise create the user first then add the levels
      • Properly escaped quotes in list of configured incoming webhooks
      • Supported mapping of array keys such as field, field[data] and field[0]
      • Supported JSON post data (application/json has to be passed as content-type in the request header)
      • Added support to redirect to a specified url after post is processed by passing “redirect” with a URL as value in the post data
      • Returned {success:1} on successful requests
      • Updated code to obey level registration requirements
      • Updated code to obey level email notification settings
      • Swapped the actions and data mapping tabs
    • BuddyBoss
      • BuddyBoss and BuddyPress issues
        • BuddyPress – Fixed issue where BuddyPress pages like /groups/xxxxx/ and /members/xxxxx/ are no longer being protected by WishList Member.
        • BuddyBoss Platform – Fixed an issue where the styling of the Pop Up modal that appears when clicking the “New Discussion” button on the Groups pages gets messed up when WLM is activated.
      • Topics/Discussions
        • Fixed: First reply on topics/discussions disappears for normal members when the “Hide/Show” feature is enabled.
    • Evidence
      • Fixed: Sends temp email to Evidence
      • Included city, state, zip and country content in post
    • Slack
      • Fixed: Sends temp email to Slack
    • Tutor LMS
      • Added Complete Course Action for tutor LMS
    • Learndash Integration Loading
      • Remove JS checking of Learndash Plugin when opening Learndash Integration

Sequential Upgrade

  • Updated the User interface
  • Added option to send welcome email. there are three possible settings:
    • Do not send
    • Follow per level setting of the level being added to
    • Send email no matter what
  • Fixed REMOVE setting being lost after upgrading WishList Member

Registration

  • Fixed: WordPress tries to send out 2 emails – Password Changed and Email Changed. These fail because the email is invalid. The admin then gets 2 failed email notifications.
  • Fixed: Email confirmation redirect. user should be redirected to the after login page after email confirmation but is instead just redirect to the homepage

Advanced Options

  • Logins
    • Fixed issue where the “Login Limit Message” disappears when the message contains a single quote (‘).
    • Fix issue where the Login Limit Message is not being displayed when the user reaches the default login limit set and the “Allow WishList Member to Handle Logout Redirect” is enabled.
  • Global Defaults
    • Fix issue where the text area for the following fields below disappears when there’s a single qoute (‘).
      • Text to display for content protected with private tags
      • Text to display for content protected with reverse private tags
      • Text to display when comments are protected
    • Fix issue where the input fields disappears when there’s a single qoute (‘).
  • Miscellaneous
    • Allows full URL to be entered in Affiliate ID field

API

  • Fixed: [confirmurl] shortcode is not being processed properly for the email confirmation email
  • Fixed non-working DELETE /members/:[id] resource
  • Updated email sending behavior for welcome email when email confirmation is required. we now mirror the behavior when someone registers via the form wherein the welcome is not sent when email confirmation is required. only the email confirmation email is sent
  • Added return_fields array parameter to /members/:[id] resources so requesters can ask the API to return specific wp user fields such as first_name, last_name, etc
  • Returned 400 error code as a catch-all code for errors

Post/Page Options

  • Fixed: Select2 dropdown inside modal box not showing if divi theme is enabled. increased z-index to 9999999

Login Templates

  • Fixed: Responsive issues for both template 05 and template 11
  • Fixed: Login style template 9 cannot edit button color

Profile

  • Fixed issue with updating the password where it keeps showing error saying “Password not accepted” if Require Strong Passwords option is enabled.
  • Fixed issue where a backslash is added when the user info contains single qoutes or apostrophes on the WordPress Profile page and the WishList Member’s member details modal.

Pagination

  • Added Show All option on all pagination items
  • Fixed quick jump input field
  • Supported “tab” in addition to “enter”
  • Page change on tab only happens if data-orig is set and it is different from value

Other

  • Fixed incorrect url when pre-loading iconset
  • Removed ‘This page is auto-generated by the WishList Member Plugin.’ from the magic page
  • Prevents unnecessary saving of Magic Page id
  • Updated links pertaining to connectivity and activation in selfcheck
  • Fix the tooltip on modal boxes not showing when their responsive version kicks in
  • Fixed layout issue for responsive behaviour of modal-xl
  • Fixed the width of the fields with click to edit features
  • Fixed daterangepicker shows behind modal if view is narrow
  • Fixed an issue that clashes with other plugins for select2 inside a modal box
  • Fix issue where WishList Member won’t activate on server’s using PHP Version 5.4.45 because of the following errors.
    • “PHP Fatal error: Can’t use function return value in write context in”.
    • “PHP Parse error: Syntax error, unexpected ‘(array)’ (array) (T_ARRAY_CAST) in”.
  • Email sending
    • Updated mail sending to include an alternate text body if the message is in html. this helps the email get through spam filters
    • Prevented possible conflicts with smtp plugins caused by not setting the mail header content-type to text/html or text/plain
  • Fix issue where “Enable visibility rules” from “If Menu” plugin appears twice in the menu settings.
  • Also fix the error message “If Menu detected that another plugin or theme (WishListMember_Walker_Nav_Menu) extends menu items incorrectly. This may cause duplicate visibility rules to show up, but functionality should be fine.”.

WishList Member v3.3 Build 6939

Payment Provider

  • WooCommerce
    • Fixed: Broken WooCommerce integration introduced in v3.3.6937

Note: WishList Member v3.3.6939 replaces WishList Member v3.3.6937 as an official release and contains the same updates as listed below.

Setup

  • Integrations
    • Payment Providers
      • WooCommerce
        • Fixed: Admin cannot delete any post if the integration is active while the WooCommerce plugin is inactive
      • Stripe
        • Made the tables more responsive for mobile devices.

Content Control

  • Content Archiver
    • Allowed past dates when setting archive date
    • Fixed issue where the user loses access to an archived content when at least one of their levels has a date outside of the archived date even though they have other levels that has an access to the archived content.

Legacy API

  • Restored legacy API back into WishList Member
  • Changed remote calls to call methods as non-static as all Legacy API methods are defined as non-static methods to begin with

WishList Member v3.3 Build 6937

Setup

  • Integrations
    • Payment Providers
      • WooCommerce
        • Fixed: Admin cannot delete any post if the integration is active while the WooCommerce plugin is inactive
      • Stripe
        • Made the tables more responsive for mobile devices.

Content Control

  • Content Archiver
    • Allowed past dates when setting archive date
    • Fixed issue where the user loses access to an archived content when at least one of their levels has a date outside of the archived date even though they have other levels that has an access to the archived content.

Legacy API

  • Restored legacy API back into WishList Member
  • Changed remote calls to call methods as non-static as all Legacy API methods are defined as non-static methods to begin with

WishList Member v3.3 Build 6928

Members

  • Manage
    • Fixed: Unable to delete a level from member because if there’s 1 level that is not valid in the database

API

  • Return 404 for API 1.0 requests via API 2.0 if WLMAPI class is not found

User Interface

  • Fixed: Certain webhosts do not allow application/javascript to be returned by PHP scripts which results to our scripts being broken

Other

  • Removed unneeded font types
  • Removed unneeded CSS and Javascript files
  • Removed unneeded loading of legacy admin_main.js
  • Removed unused function wlm_combine_styles()
  • Generated static CSS and Javascript files instead of combining them via PHP on every request
  • Moved CSS, Javascript and Fonts to their proper locations

WishList Member v3.3 Build 6910

Setup

  • Integrations
    • Payment Providers
      • WooCommerce
        • Fixed: WooCommerce Linked Products list does not load
        • Fixed: WooCommerce Link New Product not working
    • Other Providers
      • WebHooks
        • Fixed: incoming webhooks cannot be deleted
        • Updated the incoming webhooks list to display the webhook url ID if no name is provided
      • Zapier
        • Fixed: temp email and temp login being sent to Zapier if the registration is incomplete. We now only send info to Zapier once the registration has been completed.

Other

  • Fixed broken loading of Styles and Scripts when using JetPack
    • Updated the way that styles and scripts are loaded so that they are no longer done via the query string wlm3cssjs.
  • Fixed typo in content of magic page
  • Fixed incorrect self check of magic page
  • Updated code that makes use of get_magic_quotes_gpc(). This function is deprecated in PHP 7.4.0 and always returns false in PHP 5.4.0

WishList Member v3.3 Build 6900

Setup

  • Integrations
    • Payment Providers
      • Paypal Checkout
        • We no longer run ShoppingCartReactivate on Skipped recurring payments
        • We no longer run ShoppingCartReactivate on recurring_payment_failed
      • WooCommerce
        • Added wishlist member to the woocommerce products meta box
        • Linked order to wlm created account so it properly displays in the WooCommerce “My Accounts” section
        • Update billing and shipping user meta based on order billing and shipping address
      • Stripe
        • Moved coupon code field from after the credit card field to before it
        • Fixed Logged in users who has payment method (CreditCard token) saved on their account are unable to purchase other Stripe buttons and are seeing this error instead. “An Error Occured while processing payment, please try again Reason: Could not determine which URL to request: WLMSTripePaymentMethod instand has invalid ID:”
      • Plug&paid
        • Added support for free products
    • Email Providers
      • MailPoet
        • Changed functionality from basic subscribe/unsubscribe to action-based subscription
    • Other Providers
      • Added WebHooks integration
      • Zapier
        • Fix bug where Zaps got disconnected because it can’t authenticate due to URL encoding on the Zapier side
        • Returned a descriptive error message to zapier if add_member_to_level is called but the passed email does not exist
      • GotoWebinar API
        • Fixed issue where it just shows “API Status: Checking” when there’s no authorization code added
        • Fixed issue where the authorization code authorization fails even if the user uses the correct code
  • Levels
    • Levels that require Confirmation and Approval no longer trigger Sequential Upgrade and Level Action
    • Actions
      • Set default Email Notification to “Don’t Send” when migrating from Add to feature
      • Fixed empty Level Actions Notification Dropdown
      • Fixed Level Action Sends Email even if set not to send
      • Fixed non-working Inherit Parent Status
    • Email Notifications
      • New user email notification
        • Updated email notifications sending options from just Yes/No to the following:
          • Send Email
          • Send Email ONLY to New Members
          • Do NOT Send Email
      • Expiring email notification
        • Modified behavior so that expiring email notification is only sent once instead of daily
        • Changed “Send” to “Send Once”
        • Updated tooltips
    • ReCaptcha
      • Fixed ReCaptcha failing when server has allow_url_fopen disabled

Members

  • Manage
    • Added capability to reset a user’s RSS Feed URL
    • Added minimal view for members list. Minimal will not display membership levels
    • Fixed alignment issues of checkboxes in manage members table

Advanced Options

  • RSS
    • Added option to limit the number of unique IPs that are allowed to access a protected feed in a day

Content Control

  • Scheduler
    • Fixed missing table name in MySQL query

API 1.0

Scripts and Styles

  • Select2
    • Fixed styling for select2 inside .input-group
    • Moved our select2 loaded outside of WishList Member’s admin screens from jQuery.fn.select2 to jQuery.fn.wlmselect2 to prevent conflicts. This should fix javascript conflicts with select2 on:
      • Post/page options
      • Appearance > menus
  • Fixed issue where certain plugins remove our query string when loading our CSS and Javascript causing styles and scripts to be broken
  • Fix date picker styling issues in post page

Other

  • WordPress Multisite
    • Fix issue where network activating WishList Member kicks out the admin from WordPress
  • Email template merge codes
    • Fixed swapped incomplete registration url value and text
    • Added [wlm_custom xxxx] merge code to email templates shortcodes dropdown
  • Conflicts
    • Fixed issue where the sender email and address when sending an email with WP Mail Bank Pro is set to wordpress@site.com
    • Fixed conflict with SenseiLMS
  • PHP
    • Fixed __return_false passed as constant and not a string to remove_filter causing php warning
    • Fixed critical error issue when a member tries to verify his email address by visiting the Email Confirmation Link

WishList Member v3.2 Build 6796

Setup

  • Levels
    • Auto-create accounts for integrations
      • Enabled auto-login for newly created accounts when possible. Note that existing accounts will not be automatically logged in
    • Registrations
      • New: Automatically Add non-WishList Member User Registrations to a Level. This feature automatically adds a newly registered user that didn’t go through WishList Member to the membership level
  • Integrations
    • Payment Providers
      • plug&paid
        • Supported handling of subscription cancellations, refunds and declined orders
      • PayPal Checkout
        • Updated code so that iDevAffiliate recurring commissions won’t be process for the initial trial payment
      • WooCommerce
        • Auto-login new customers
    • Email Providers
      • New: MailPoet
    • Other Providers
      • BuddyBoss
        • Added checking if Buddy Boss is active or not
      • TutorLMS
        • Fixed layout inconsistency with select2
  • Getting Started Wizard
    • Made sorting of integrations case-insensitive

Members

  • Manage
    • Fixed “approval email” being sent to all selected users on mass approval even if some of the selected users were not affected (i.e. already approved members)

Post/Page Options

  • Fixed height not adjusting when multiple selection is made
  • Fixed select2 inside Thickbox not showing dropdown due to low z-index

Other

  • Changed WishList Member 3.1 to just WishList Member in plugin name and description
  • Added settings link for WishList Member in the WordPress plugins page when WishList Member is active
  • Fixed styling conflict with publitio and publitio offloading
  • Fixed text overlap on toggle switches due to .switch CSS conflict
  • PHP
    • Fixed problem where site can’t be accessed due to error because of duplicate class declaration
    • Notice: Undefined property: WishListMember3::$MailSubject
    • Notice: Undefined property: stdClass::$post_status
    • Notice: Undefined offset: 0
  • Deleted unused legacy/libexp/integration.shoppingcart.authorize.php
  • Conflicts.txt
    • Removed WP Shopping Cart
    • Removed Loop Buddy

WishList Member v3.2 Build 6754

Dashboard

  • Removed upgrade button if license key is not provided

Setup

  • Levels
    • New: Level Actions
    • New: Auto-Create Accounts for Integrations
    • Supported reCaptcha v3
  • Integations
    • Payment Providers
      • New: plug&paid Integration
      • PayPal Checkout
        • Added IPN Forwarding
        • Fixed Double recurring commission being issued to iDevAffiliate
      • WooCommerce
        • Fixed broken products list if a previously configured product has been deleted in WooCommerce
        • Fixed WooCommerce product dropdown only listing a max of 10 products
        • Displayed “Choose a Membership Level or Pay Per Post” in the Access dropdown if there are pay per posts enabled
    • Email Providers
      • New: MailerLite Integration
      • SendFox
        • Added unsubscribe support
      • AWeber
        • Fixed issue with AWeber Disconnect button
    • Other Providers
      • New: Slack Integration
      • New: Tutor LMS Integration
      • New: BuddyBoss Integration
      • iDevAffiliate
        • Fixed Double recurring commission being issued from PayPal Checkout
    • All
      • Scroll to top when selecting an integration
      • Resized integration logos

Members

  • Manage
    • Added email notification options when adding a level to a member
    • Added email notification options when canceling and uncanceling a member’s levels

Advanced Options

  • Passwords
    • Added the feature to Disable Password Change Notifications to Admin.

File Protection

  • Fixed broken .htaccess and nginx config file when upgrading WishList Member in WordPress Multisite

Post/Page Options

  • Fixed CSS conflicts with other plugins
  • Fixed select2 conflict with Content Aware Sidebars by disabling post/page options for this post type
  • Restored protection of CartFlows post types
  • Restored protection of WooCommerce products and subscriptions
  • Pay Per Post Access
    • Added option to turn a pay per post into an after login page if a user has access to it.

Shortcodes

  • Added support for [wlm_logouturl] which outputs a logout URL.

Login Redirects

  • Fixed broken global custom after login redirect for Pay Per Posts
  • Fixed after redirect going to homepage instead of global if no other settings (per level, pay perpost, etc) are set

Translation

  • Added translation for the words Strong, Weak and Hide for registration forms

Other

  • Conflicts
    • Fixed CSS conflicts with the .switch class of other plugins
    • Fixed conflict with Divi Carousel breaking WishList Member admin CSS
    • Fixed conflict with All-in-One Addons for Elementor – WidgetKit Plugin breaking WishList Member admin CSS
    • Fixed multiple magic pages being created due to possible plugin conflict
    • Fixed select2 conflict with Checkout Field Editor for WooCommerce
  • PHP
    • Fixed Fatal error: Allowed memory size on sites hosted on one.com
    • Fixed notice caused by undeclared variable in WishListMemberCore::SaveOption()
  • WordPress
    • Plugins Page
      • Display “Manual Update Required” if upgrading from WordPress plugins section with an empty WishList Member license key
      • Fixed bug introduced in build 6654 causing plugin updates and installs via WordPress to fail
    • Profile Page
      • Fixed issue where duplicate WishList Member address fields are showing in the WordPress profile page.
      • Removed website field on the “Additional Registration Information” in Profile Page.
      • Removed website, firstname and last fields on the “Additional Registration Information” in Profile Page when Admin is viewing the it.
    • Replaced deprecated get_userdatabylogin() with get_user_by()
  • Cookies
    • We no longer set the wlm_test_cookie on init
    • Renamed wlm_test_cookie to wlm_login_cookie
  • Changed WishList Member icon
  • Remove “WishList Member” from the page title when displaying error messages

WishList Member v3.1 Build 6649

Setup

  • Integrations
    • Payment Providers
      • WooCommerce
        • Fixed issue where marking an order as processing or completed causes a fatal error if the user for the order already exists

Members

  • Manage
    • Removed capability of editing role if the currently logged-in admin is editing his own profile