WP-Members Membership Plugin

Wordpress Plugin
Download latest - 3.3.8

Developers

cbutlerjr

Download Stats

Today 229
Yesterday 269
Last Week 1,974
All Time 1,534,002
Banner 772x250


Releases (35 )

Version Release Date Change Log
3.3.3 2020-05-03
  • If WooCommerce is active, any standard WC user meta fields are removed from the WP-Members additional fields in the User Profile Edit (since they already display in the WC field blocks).
  • When setting hidden posts, don't include posts from post types not set as handled by WP-Members. This prevents previously hidden posts from being included if the post type is no longer included for WP-Members.
  • Set a default product for publishing posts/pages.
  • Updated activation/deactivation processing so that a (admin) user cannot activate or deactivate themselves. Also, if a user has "edit_users" capability, they can log in without being activated.
  • Load email "from" address with main settings rather than when email is sent. This corrects issues with Advanced Options extension, and also keeps the value loaded for use outside of WP-Members email function.
  • WP 5.4 adds the wp_nav_menu_item_custom_fields action, so now WP-Members only loads its custom walker if WP is 5.3 or lower.
  • Image file field type now shows an immediate preview when the "choose file" button is clicked and an image selected (both profile update and new registration).
  • wpmem_login_failed_args updated to pass $args (similar to other _args filters in the plugin, now parses defaults).
3.3.2 2020-04-08
  • Added back shortcode menu item previously removed in 3.3.0.
  • Added new handling in wpmem_is_blocked() for validating rest api requests.
  • Added new wpmem_is_rest() function to the plugin's API, determines if the request is a rest request.
  • Fixed issue with dropdown, mutliple select, and radio field types that allowed white space in resulting value.
  • Fixed issue with register/profile update validation if email is removed via wpmem_fields filter hook.
  • Fixed issue with prev/next post links to not show hidden posts if user is logged in but does not have a membership.
  • Fixed issue with hidden posts when membership products are used. Hidden posts not assigned a membership remained hidden.
  • Fixed issue with menus where logged in/logged out settings were not applied unless membership products were enabled.
  • Moved wpmem_post_register_data action to fire hooked to user_register at priority 20. Changed email actions to fire at priority 25. See release announcement for more detail of implications.
  • Code improvement to reCAPTCHA.
  • Code improvement to excerpt generation.
  • Code improvement to expiration date generation.
  • Code improvement to hidden posts when using membership products.
  • Code improvement changed user_register hook priority for post_register_data() to "9" to allow for custom meta fields to be available to any user_register function using the default priority (10) or later.
3.3.1 2020-01-14
  • Update membership product expiration to allow for a "no gap" expiration (i.e. renewal begins from expiration date, optional) or default (renewal begins from today or expiration date, whichever is later).
  • Update user activation to use wp_set_password().
  • Update display of membership product slugs to text (instead of a form input). They can't be edited.
  • Added empty /inc/dialogs.php for customizations and plugins that try to include the legacy dialogs file.
  • Updates to user profile screen which allows users with 'edit_users' capability (admins) to edit their own profile.
  • Fixes a bug that caused the user profile display for a new user to say "reactivate" instead of "activate".
  • Fixes a bug in the membership renewal that sets the individual date meta forward two periods instead of one.
  • Fixes a bug in the hidden fields lookup that caused hidden posts with a membership limitation to not display to users who had a matching membership.
  • Changed custom menu options to use wp_nav_menu_item_custom_fields action hook. This is a "made up" hook that is not actually part of WP. But somewhere along the line, some menu-focused plugins began using it in their custom walkers. By not using it in WP-Members, that caused some problems for users who also used one of those other plugins or themes. This updates shifts to use this "non-standard" action hook these other themes and plugins are using in order to apply some level of compatibility.

Including all 3.3.0.x patches: * Provides a workaround for a bug in the dialogs setting when custom dialogs are applied. This targets an issue specifically affecting users with the WP-Members Security extension installed. (3.3.0.4) * Fixes a bug when products are enabled but no default is set. Allows for no default membership assigned at registration. (3.3.0.4) * Fixes a bug that caused the post restricted message to display on the short form when it was in password reset and forgot username state. (3.3.0.4) * Added wpmem_get_hidden_posts() API function to return an array of post IDs marked as hidden. (3.3.0.4) * Fixes a shortcode issue for the [wpmem_logged_in] shortcode when using the meta_key attribute. 3.3.0 added a "compare" attribute, and with this addition, it broke the original default use of the shortcode. (3.3.0.3) * Fixes an issue with registration/profile form fields when used in the profile. It was intended to introduce separate selection of fields for registration and profile update in 3.3.0. However, there is an issue that causes profile fields to both (1) not correctly display and (2) if they do, they do not update correctly. (3.3.0.2) * Fixes issue when updating where the stylesheet selector indicates "use_custom" but the actual URL is to a default stylesheet. The problem can be corrected manually, but this fix applies the custom URL to the new standard setting for the defaults. (3.3.0.1) * Fixes bug where any stylesheet other than the default reverts to the default ("no float"). This was due to the database version being wiped when settings were updated. This fix correctly applies the database version when updating settings. (3.3.0.1) * Fixes bug when captcha is used (unknown validate() function). The validate() function should have been declared and used as a static method. This fix declares validate() as static and then uses it as such. (3.3.0.1) * Fixes undefined string variable when successful registration is executed. (3.3.0.1)

3.3.0 2019-12-19
  • @todo Need to resolve duplicate wpmem_login_form_defaults. (maybe took care of itself with backing out of _args deprecation)

  • REMOVED [wp-members] shortcode tag. THIS TAG IS OBSOLETE WILL NO LONGER FUNCTION. See: https://rocketgeek.com/shortcodes/list-of-replacement-shortcodes/

  • REMOVED tinymce button for shortcodes as no longer necessary with gutenberg.

  • Deprecated wpmem_inc_login_args filter, use wpmem_login_form_defaults instead.

  • Deprecated wpmem_inc_{$form}inputs and wpmem_inc{$form}args filters, use wpmem{$form}_form_defaults instead. (changepassword|resetpassword|forgotusername)

  • Deprecated wpmem_sb_login_args filter, use wpmem_login_widget_args instead.

  • Deprecated wpmem_msg_args and wpmem_msg_dialog_arr filters, use wpmem_msg_defaults instead.

  • The following functions are deprecated, replacements should no longer be considered "pluggable":

    • wpmem_inc_registration() Use wpmem_register_form() instead ($heading argument obsolete).
    • wpmem_inc_changepassword()
    • wpmem_inc_resetpassword()
    • wpmem_inc_forgotusername()
    • wpmem_inc_recaptcha()
    • wpmem_build_rs_captcha()
  • The following functions and filters are obsolete and have been removed:

    • wpmem_shortcode() (deprecated 3.1.2)
    • wpmem_do_sc_pages() (deprecated 3.1.8)
    • wpmem_admin_fields() (deprecated 3.1.9)
    • wpmem_admin_update() (deprecated 3.1.9)
    • wpmem_user_profile() (deprecated 3.1.9)
    • wpmem_profile_update() (deprecated 3.1.9)
    • wpmem_dashboard_enqueue_scripts() (deprecated 3.2.0 Use $wpmem->admin->dashboard_enqueue_script() instead.)
    • wpmem_sc_forms() (deprecated 3.2.0 Use $wpmem->shortcodes->forms() instead.)
    • wpmem_sc_logged_in() (deprecated 3.2.0 Use $wpmem->shortcodes->logged_in() instead.)
    • wpmem_sc_logged_out() (deprecated 3.2.0 Use $wpmem->shortcodes->logged_out() instead.)
    • wpmem_sc_user_profile (deprecated 3.2.0 Use $wpmem->shortcodes->profile() instead.)
    • wpmem_sc_user_count() (3.2.0 Use $wpmem->shortcodes->user_count() instead.)
    • wpmem_sc_loginout 3.2.0() (deprecated Use $wpmem->shortcodes->loginout() instead.)
    • wpmem_sc_fields() (deprecated 3.2.0 Use $wpmem->shortcodes->fields() instead.)
    • wpmem_sc_logout() (deprecated 3.2.0 Use $wpmem->shortcodes->logout() instead.)
    • wpmem_sc_tos() (deprecated 3.2.0 Use $wpmem->shortcodes->tos() instead.)
    • wpmem_sc_avatar() (deprecated 3.2.0 Use $wpmem->shortcodes->avatar() instead.)
    • wpmem_sc_link() (deprecated 3.2.0 Use $wpmem->shortcodes->login_link() instead.)
    • wpmem_register_fields_arr (obsolete 3.1.7, use wpmem_fields instead.)

IMPORTANT UPDATES/CHANGES

  • Major filesystem changes. The directory structure has changed and several files moved/renamed/made obsolete. If you have ANY WP-Members customization that directly includes a file, that step is probably obsolete. The plugin has loaded most of the include files automatically since at least version 3.2, so this step has not been necessary for quite some time. However, this set of changes is more significant. (If you do not have code snippets using file includes from WP-Members, this most likely will not affect you.)

  • Updated registration function to hook to user_register, IMPORTANT: this changes the order in which the user meta fields are saved, and also changes when the email is sent. Email is now hooked to user_register, but can be unloaded if necessary.

  • Major overhaul of registration and login form, validation, and processing functions. Moved things into appropriate object classes (user, forms) and deprecated legacy functions and files (register.php, forms.php).

  • Updated membership product meta and date format, IMPORTANT: this changes the way the user product access information is stored (going from an array of all memberships to individual meta for each) as well as the format (dates are now unix timestamp). There is an update script that will run during upgrade to handle this. For now, the legacy format is also maintained (so consider this if customzizing any processing) so that rollback is possible.

  • Updated wpmem_user_has_meta() to include a check by array when the field is multiple checkbox or multiple select.

  • Updated [wpmem_logged_in] shortcode to include an msg attribute to display a message if the user does not have access to a specified product (product must be passed as attribute).

  • Updated [wpmem_logged_in] shortcode to include a compare attribute. Possible values for "compare" are "=" and "!=" to restrict if the has a meta value or the meta value is "not equal to" respectively. Passing only meta_key/meta_value will still assume an "=" comparison.

  • Updated register page shortcode [wpmem_form register] logged in state - if a profile page is set, second link links to profile rather than "begin using the site".

  • Updated Users > All Users screen filters, removed "Not Activated" replaced with "Pending Activation". Filter now only shows users who have not been activated, no longer includes users who were deactivated.

  • Major menus change - if you use the $wpmem->menus object directly, this is now $wpmem->menus_clone (setting $wpmem->clone_menus remains the same). wpmem_menu_settings and wpmem_menus are now wpmem_clone_menu_settings and wpmem_clone_menus. New menu handing has been introduced in the $wpmem->menus object and that will take the place of the cloned menu options.

  • Updated the way stylesheets are handled. Added wpmem_get_suffix() API function to get the appropriate suffix for files (.min.css or .css) for both js and css. Also, minified all CSS files that were not previously minified. Note: you can no longer filter custom stylesheets into the plugin's dropdown selector (no one was using this feature as far as I am aware anyway). You can still filter the stylesheet being loaded as well as indicate the path of a custom stylesheet.

  • Added reCAPTCHA v3 support.

  • Added default membership product(s) at registration.

  • Added membership product(s) for user export.

  • Added support for selecting fields to display on the registration form or the profile form.

  • Added wpmem_activate_user() and wpmem_deactivate_user() to user API.

  • Added wpmem_user_sets_password() API function.

  • Added wpmem_get_block_setting() API function.

  • Added wpmem_set_user_status() API function.

  • Added wpmem_export_users() as API function (function already existed, but the original has been moved to an object class, and the function has been included in the API).

  • Added wpmem_sanitize_field() API function. This is a general utility that allows for different sanitization by type.

  • Added wpmem_maybe_unserialize() API function. If result is serialized, it unserializes to an array, if an array, it sanitizes using wpmem_sanitize_array().

  • Added wpmem_get_user_role() API function.

  • Added wpmem_get_user_ip() API function.

  • Added wpmem_get_user_meta() API function.

  • Added wpmem_get_user_products() API function.

  • Added wpmem_user_has_meta filter.

  • Added wpmem_login_form_settings filter.

  • Added wpmem_block_settings filter.

  • Added wpmem_msg_settings filter.

  • Added wpmem_sc_product_access_denied filter.

  • Added wpmem_views_users filter.

  • Added wpmem_dialogs filter.

  • Added wpmem_query_where filter.

  • Added wpmem_user_action.

  • Added admin user class for handling Users > All users screen and user activation.

  • Added user export class.

  • Added "msg" attribute support for [wpmem_logged_in] when using the "membership" or "product" attributes.

  • Replaced WPMEM_VERSION constant with $wpmem->version.

  • Replaced WPMEM_PATH constant with $wpmem->path. WPMEM_PATH will still function for backward compatibility.

  • Replaced WPMEM_URL constant with $wpmem->url.

  • New folder structure being implemented

    • All admin js & css now load from /assets/ not /admin/ !!!

Other Improvements

  • Changed load for WP-Members Admin API so that emails, dialogs, and tabs only load on the WP-Members settings screens (where they are used).
  • Changed email "from" to only load if the WP-Members Email object is doing a send (user or admin). This saves an option load when not needed.
  • Fixed an issue where a PHP notice was thrown if one of the User Pages (login/register/profile) was deleted but the setting not updated. Fixes the PHP notice issue, but also adds an admin notice to indicate the page was deleted, but the setting not updated. (This also adds a new admin notice function/process that can be expanded on later.)
  • Fixed an issue with wpmem_user_has_access() that prevented proper results when used to check a specific user ID (other than the current user).
3.2.9 2019-06-20
  • Load jQuery UI and Select2 libraries locally (if they have not already been enqueued).
  • Use (local) template file for default tos field link (can be customized and saved in theme folder).
  • Added new sanitization functions to API: wpmem_sanitize_class() and wpmem_sanitize_array().
  • Review and cleanup of form data sanitization.
  • Improved file/image field upload file type validation.
  • Fixed issue with loading legacy translation files.
  • Added "membership" attribute to [wpmem_logged_in] shortcode (same as "product" attribute, they are interchangeable).
  • Added datepicker for setting user expiration (when membership products are used).
3.2.8 2019-06-14
  • Fixed potential security issues to prevent CSRF (Cross Site Request Forgery).
3.2.7 2019-06-12
  • Fix console error from nonce by implementing different nonce names.
  • Updated packaged POT file for legacy lanaguage files. Updated legacy language files to use new POT.
  • Full removal of legacy language files that are available as language packs from https://translate.wordpress.org/projects/wp-plugins/wp-members/
  • Added jQuery UI stylesheet (fixes issue with main options tab settings modal).
  • Added wpmem_default_text filter.
  • Deprecated wpmem_default_text_strings filter, use wpmem_default_text instead.
  • Added translation capability to field placeholders and title attributes.
  • Updated Customizer setting slug to avoid namespace collisions (added "wpmem_" stem).
  • Updated instances of wp_redirect() to use wp_safe_redirect().
  • Updated install for multisite to use wp_insert_site (wpmu_new_blog deprecated in WP 5.1).
  • Added user screen filter to show activated users.
3.2.6 2019-05-29
  • Added nonce to short form (long form was added in 3.2.5).
  • Password change function only can be fired if user is logged in.
  • Added "all" argument to wpmem_user_data() to retrieve either all user meta or WP-Members fields only.
  • Added $date argument to wpmem_set_user_product(). Allows specific date to be set using API.
  • Added wpmem_admin_after_profile_table and wpmem_user_after_profile_table actions.
  • get_user_products() returns empty array if no products (previously boolean).
  • Rebuild of [wpmem_field] logic for field type. Combined multiple conditions into a single switch.
  • Update password reset form - password field should be "text" class.
  • Added membership field type for allowing selection of a membership at registration.
  • Login form updated from "Username" to "Username or Email".
  • Added $arr parameter to wpmem_login_form_rows filter.
  • Added file's post ID to post_data array.
  • Update to evaluate required fields as not null (instead of false).
  • Added wpmem_tos_link_tag filter.
  • Added $button_html parameter to wpmem_register_form_buttons filter.
  • Added wpmem_serve_menu filter.
  • Fixed display issue with password shortcode which caused message dialog to display in default state.
  • Fixed console error with short form nonce.
3.2.5 2019-03-26
  • Fix user profile (admin/user) issue with tos field not displaying.
  • Fix [wpmem_logged_in] shortcode to pass product attribute.
  • Fix [wpmem_field] shortcode, checks if field is set to avoid undefined index error.
  • Fix do_excerpt() if post object is not set as an object.
  • Fix logic for displaying hidden posts based on product access.
  • Added message dialog to display in Customizer.
  • Added HTML5 "required" attribute to TOS checkbox.
  • Added redirect_to attribute to logout link.
  • Added $tag parameter to wpmem_{$tag}link and wpmem{$tag}_link_str filters.
  • Added id parameter to wpmem_register_form_args filter.
  • Added wpmem_email_send_args filter.
  • Added wpmem_is_user() function to API.
  • Added wpmem_do_shortcode() utility function in API.
  • Added wpmem_export_fields filter to user export function.
  • Added label attribute to field shortcode.
  • Added user profile tabs (jquery ui tabs).
  • Updated wpmem_form_date() API function.
  • Updated check product access to handle product as an array.
  • Updated to make a nonce a default for the registration form (reduces possibility of spam registrations).
  • Updated form field creation, $value is now optional.
  • Moved textdomain to load in main class file.
  • Removed possibility of using reCAPTCHA v1 which is totally obsolete.
  • Removed widget status message ("you are not logged in") for logged out state.
3.2.4 2019-01-03
  • Added deactivate users both bulk and single in Users > All Users.
  • Added id attribute for form labels.
  • Added wpmem_format_date() API function.
  • Added label tags to multipe checkbox and radio group items.
  • Added assigned product(s) column to users and posts screens.
  • Updated membership product object structure.
  • Updated users bulk action jquery to use noconflict().
  • Updated load priority to run later for jquery loginout script.
  • Removed query_vars filter.
  • Depreacted wpmem_a_activate_user(), use wpmem_activate_user() instead.
  • Deprecated wpmem_a_deactivate_user(), use wpmem_deactivate_user() instead.
  • Relocated install file to /inc/ directory.
  • Moved methods out of core.php, deprecated file.
3.2.3 2018-09-26
  • Bug fix in user export that caused usernames to be dropped.
  • Bug fix to allow admins to edit their own profile.
  • Bug fix for jquery with regards to select2, only load if products are enabled.
  • Added email API.
  • Added product attribute to [wpmem_logged_in] shortcode.
  • Added wpmem_force_ssl() API function.
  • Added wpmem_set_as_logged_in() API function.
  • Added filters to remove posts marked hidden from previous/next links.
  • Updated user login function to use WP script, facilitates login with username OR email, removes wpmem_login_fields filter, changes to wp_safe_redirect().
  • Updated password change for maintaining login state.
  • Moved wpmem_fields(), wpmem_form_label(), and wpmem_form_field() to api-forms.php.
  • Moved wpmem_user_has_role(), wpmem_user_has_meta(), wpmem_is_user_activated(), wpmem_user_data(), wpmem_update_user_role(), and wpmem_user_has_access() to api-users.php.
  • Moved wpmem_do_excerpt(), wpmem_texturize(), wpmem_get_excluded_meta(), wpmem_use_ssl(), wpmem_write_log(), wpmem_load_dropins(), wpmem_array_insert(), and wpmem_get_sub_str() to api-utilities.php.
  • Moved wpmem_wp_reserved_terms() to admin API.
  • Deprecated wpmem_check_activated() and wpmem_use_ssl().
  • Removed obsolete functions wpmem_enqueue_style(), wpmem_convert_tag(), wpmem_no_reset(), and wpmem_user_profile_multipart().
  • Applied wpmem_force_ssl() to stylesheet in case it needs to load securely (even if the setting is saved as http://).
3.2.2 2018-09-01
  • Fixed a 3.2 upgrade issue, verifies username field is properly added to field settings array.
  • Fixed issue with user product verification where only expiration products were validated.
  • Fixed logic in form field builder so multiselect will accept a custom class.
  • Added select2 support for setting product access in the post editor.
  • Removed duplicate API function wpmem_current_postid() (use wpmem_current_post_id()).
  • Replaced sanitize_html_class() with WP_Members_Forms::sanitize_class() so variables may contain multiple classes.
3.2.1 2018-07-30
  • Fixed duplicate ID in login form.
  • Fixed user profile update for excluded fields.
  • Fixed native WP registration, excluded WP-Members username field in form validation.
  • Fixed update post when block status is not changed.
  • Rebuilt user interface for post restriction metabox to make it more intuitive.
  • Changed "clickable" attribute for field shortcode default to false.
  • Added wpmem_user_export_header and wpmem_user_export_row filter for export.
3.2.0 2018-07-19
  • Tested and compatible with Gutenberg.
  • Changed default address meta fields to WooCommerce billing meta keys.
  • Removed language packs that install from wordpress.org (de_DE, hu_HU, ja, nl_NL, pt_BR, ru_RU, and sv_SE).
  • All remaining user facing strings in get_text() added wp-members textdomain.
  • Added locale as a parameter for localization filters.
  • Added wpmem_register_hidden_rows filter.
  • Added "post_to" key for wpmem_register_form_args.
  • Rebuild of user export function. User export now uses fputcsv.
  • Updates/code improvement for enqueueing styles.
  • Updated widget, added widget_title filter before wpmem_widget_title, documented wpmem_widget_id filter, added instance and id_base parameters.
  • Updated empty $fields check to not rewrite fields.
  • Deprecated wpmem_inc_status().
  • Deprecated wpmem_do_sidebar().
  • Deprecated wpmem_create_formfield(), use wpmem_form_field() instead.
  • Deprecated a number of non-user callable functions.
  • Eliminated capability-based load for admin files.
  • Maintain user login state when password is changed.
  • Added wpmem_get_sub_str() string manipulation utility.
  • Updated login form redirect_to to account for query vars.
  • Fixes issue with login status if logout url is encoded (sprintf() has too few arguments).
  • Added Membership Products Custom Post Type.
  • Added "Hide Post" option for blocking content (currently only by post meta _wpmem_block).
  • Removed several outdated stylesheets from selection (still packaged with download for users who may use them).
  • Added wpmem_update_user_role() API function.
  • Added wpmem_display_message() API function.
  • Added wpmem_user_has_access() API function.
  • HTML5 update - form anchor tags changed from "name" to "id".
  • HTML5 update - form id tags set default value (can still be filtered).
  • HTML5 update - removed "align" attribute (captcha, link-text).
  • HTML5 update - added placeholder, pattern, and title attribute support for password fields.
  • Improved the add a field dialog to adjust required inputs depending on field type.
  • Added placeholder, rows, and cols attribute support for textarea field settings.
  • Moved remaining core functions to appropriate object classes, left wrappers for most.
  • Added new email class and shortcode class to replace previous functions/files.
  • Added link_span_before/link_span_after wrapper for login link text.
  • Updated "TOS" text to accept a custom label (priority to filtered label with wpmem_tos_link_txt).
  • Updated all processing involving "TOS" to better exclude the field on profile update (if saved value equals the field's checked value).
  • Fixed a bug that caused WP native fields to be set as non-native when labels were updated in the fields tab.
  • Added Customizer control to display login, register, and widget forms when using the Customizer (easier to work on custom CSS).
  • Added login/out menu item.
3.1.9 2018-06-30
  • Improved user search in Users > All Users.
  • Fully deprecated obsolete reCAPTCHA v1. If v1 is selected as a setting, it will be automatically changed to v2. (v1 users check your API keys for compatibility.)
  • Removed obsolete comments_template.php.
  • Set image field to display "medium" image in dashboard/admin user profile. Admin profile image display links to media editor.
  • Added default format to date field shortcode to date format set in WP settings.
  • Added format attribute to date field shortcode for custom date formatting.
  • Deprecated wpmem_user_profile(), wpmem_profile_update(), wpmem_user_profile_multipart(), wpmem_admin_fields(), wpmem_admin_update().
  • Rebuild of dashboard profile functions incorporated into new user profile object class.
  • Fields tab bulk action now checks for both page and tab (rather than just tab) to prevent namespace collisions.
  • Removed $requested_redirect_to argument from login_redirect filter hook.
  • Removed height property of button_div for generic stylesheets.
  • Fixed user edit shortcode to display updated user data without page refresh.
  • Fixed password change so that login state is maintained after password update.
3.1.8 2017-07-31
  • Added new native registration handling to accommodate WooCommerce 3.0.
  • Added support for user file upload on admin/dashboard profile.
  • Added meta_key/meta_value attribute to [wpmem_logged_in] shortcode.
  • Added wpmem_user_has_meta() API function.
  • Updated post editor shortcode button javascript to include new(er) shortcodes.
  • Fixed WP-Members user profile shortcode to only display logged in content (by shortcode) if the wpmem_a 'action' is not set (i.e. logged in content only displays if page is in "member links" state).
  • Fixed register link in login form to prevent link from displaying if login form is displayed along with the registration form (standard configuration).
  • Improved multisite support, including revisions to load all admin dependencies for administrator role, not just super admin. Dependency load role requirement is filterable.
  • Improved line break stripping process in form builder to allow for line breaks in textarea fields.
  • Improved field shortcode for textarea fields to display line breaks.
  • Deprecated old wpmem_do_sc_pages() function, updated wpmem_sc_user_profile().
  • Removed $SERVER['REQUEST_URI'] from all admin tab form action attributes. Replaced with new wpmemadmin_form_post_url() API function.
  • Fields Tab: ground-up rebuild to utilize WP_List_Table and jquery sorting UI.
  • Fields Tab: improved field add/edit screen: return link at bottom of page, display current field upon successful form submission, success message include return link.
  • Fields Tab: added support for HTML5 field types: number, date.
  • Fields Tab: added support for HTML5 field attributes: placeholder, pattern (regex), title, min, max.
3.1.7 2017-04-05
  • API updates: added wpmem_is_user_activated().
  • API updates: wpmem_is_reg_page() added default of current page ID.
  • API updates: wpmem_current_url() added check for query string.
  • API updates: Added wpmem_fields filter to wpmem_fields().
  • API updates: Added wpmem_current_post_id() and wpmem_form_label() functions.
  • API updates: Added new [wpmem_avatar], [wpmem_login_link], and [wpmem_register_link] shortcodes.
  • API updates: Added filter option in user export to decode html entities in user fields.
  • API updates: Added wpmem_get_action action hook when wpmem_a is loaded.
  • All admin dependencies and actions/filters loaded in admin api object.
  • Corrected issue in forms function were RS Captcha had empty div wrapper variable.
  • Removed deprecated functions wpmem_load_admin_js(), wpmem_test_shortcode(), and wpmem_generatePassword().
  • Moved remaining deprecated functions to new inc/deprecated.php.
  • Added successful registration message on page if nonce validates (for reg redirects).
  • Added User object class, handling login, logout, register.
  • Added buffering to login form and widget to allow do_login action results to be displayed (such as 3rd party login captcha).
  • Added support for WP's login_redirect filter (loads before wpmem_login_redirect).
  • Added a div wrapper for post restricted message.
  • Added initial form support for HTML5 number input, & min, max, title, and pattern attributes (placeholder support was added in 3.1.6).
  • Updated wpmem_admin_update() to exit if there is no user ID.
  • Updated admin notification email to translate field labels.
  • Updated login form links and filters to a single process (was one for each).
  • Updated WP Registration finalize process.
  • Moved form building functions to forms object class.
  • Deprecated wpmem_register_fields_arr filter (Use wpmem_fields instead).
  • Removing the wpautop() function is now optional rather than default.
  • Fixed load fields error checking, install function now correctly returns defaults.
  • Changed password reset and password change to use wp_set_password() for improved performance with caching.
3.1.6 2017-04-03
  • Fixed [wpmem_field] display handling for multiple select and multiple checkbox field types.
  • Updates to always load fields from wpmem_fields() API function.
  • Updates to begin to utilize new fields settings array. Fields setting is still store in the same array format as before. However, it is loaded into the new settings format. Current object class keeps numeric keys in place for legacy purposes.
  • Updates to dropdown handling on main options tab to display proper preselected value when site is using ssl (https://) and no value is selected.
  • Added wpmem_loginout() API function, changed [wpmem_loginout] shortcode to use API function.
  • Added wpmem_array_insert() API function, allows for inserting array elements at any point in an array.
  • Added wp_destroy_current_session() to logout function.
  • Added WooCommerce support in native WP registration functions. Began adding WooCommerce classes to registration form elements.
  • Added to wpmem_user_has_role() function to check for a single role or if the user has a role that is in an array of roles.
  • Added wpmem_shortcodes_loaded, wpmem_hooks_loaded, and wpmem_dropins_loaded to fire after.
  • Added text input to set a default 'read more' link for auto excerpt.
  • Fixed issue with auto excerpt where an excerpt shorter than the excerpt setting would not display the more link.
  • Preliminary updates to include placeholder support in fields (this will be an option in a future release).
  • Localization fix of untranslated strings.
  • Wrap "Remember Me" checkbox label with label tag in login form.
  • Moved remaining initialization functions to class constructor.
  • Moved wpmem_load_shortcodes, wpmem_load_hooks, and wpmem_load_dropins to fire before.
  • reCAPTCHA version 1 is no longer supported by Google. It is now deprecated in the plugin. If you have reCAPTCHA v1 selected, it will remain so. But once this is changed to a different CAPTCHA setting or if this is a new install, reCAPTCHA version 1 will no longer be available as a selection.
  • Custom field term "Option Name" changed to "Meta Key" for clarity.
  • Marked required custom field properties as required in Add/Edit Field dialogs.
  • Changed redirect_to process to escape the url with esc_url_raw rather than esc_url, otherwise query string variables do not get handled correctly.
3.1.5 2016-10-24
  • Addressed some security issues to prevent XSS vulnerabilities.
  • Updated [wpmem_show_count] shortcode to include count of total blog users and users by role. See: http://rkt.bz/xC
  • Updated [wpmem_field] shortcode to accept [wpmem_field meta_key] instead of wpmem_field field="meta_key". See http://rkt.bz/ae
  • Updated [wpmem_loginout] shortcode with some improvements to function code and link text attributes. See: http://rkt.bz/29
  • Updated auto excerpt for improved functionality, uses wp_trim_words(), deprecated add_ellipsis, strip_tags, close_tags, parse_shortcodes, strip_shortcodes for filter (these were never documented so it is unlikely that anyone uses them).
  • Updated hidden field type, now allows adding hidden fields to the registration form.
  • Compartmentalized installation of initial settings.
  • Field loader now validates settings, if none exist due to install error it will run the default fields install.
  • Removed dialog setting downgrade on deactivation. Need to re-evaluate necessity of downgrading.
  • Fixed issue with slash handling in Emails tab.
3.1.4 2016-09-19
  • Change to the way the PayPal extension is integrated with the main plugin. This allows for some necessary filename changes in the extension.
  • Added checks for PayPal extension function calls within the main plugin to avoid possible errors if it is deactivated.
  • New wpmem_is_tab() API function checks the current tab in the plugin's admin panel.
  • New wpmem_is_reg_page() API function checks if the page the user registered on is the registration page.
  • New wpmem_load_dropins() API function runs dropin load function.
  • Documentation updates, cleaned up and addressed several @todo tags.
  • Updated [wpmem_field] shortcode to display display values instead of stored values for select (dropdown), multiple select, multiple checkbox, and radio group field types.
  • Fixed bug in admin js file introduced when forgot username shortcode was added.
3.1.3 2016-08-16
  • Fixed issue with display of [wp-members] field tag. Note: although this tag should remain operable, the tag is officially obsolete since 2.9.8 and should be used as [wpmem_field].
  • Fixed issue with calling PayPal extension functions if settings are enabled but the extension is disabled.
  • Updated some admin-side strings for translation.
  • Updated wpmem_redirect_to_login() to not check for wpmem_is_blocked(). Handling that outside the function will expand its usability.
  • Updated row_after logic in login form function so that it can be used for adding tags at the end of a row w/o adding a tag at the beginning.
  • Updated widget to check for wpmem_do_sidebar() instead of obsolete wpmem() function.
  • Updated email shortcodes used in new install.
  • Added new utility function wpmem_get() for checking posted variables and query strings with isset() and setting a default value.
  • Added a nonce to register redirect by shortcode parameter. This will lead to being able to display a success message on the redirected page.
  • Added redirect_to argument in wpmem_redirect_to_login().
  • Added generic registration error message.
  • Added [wpmem_form forgot_username] shortcode for displaying the forgot username form.
3.1.2 2016-07-13
  • Minimum WordPress version increased to 3.6.
  • Added user counts to user screen links (set as transient).
  • Added redirect_to parameter to wpmem_login_url().
  • Added action parameter to wpmem_profile_url().
  • Added echo argument to wpmem_gettext().
  • Added api function wpmem_user_pages() to return an array of the login, register, and profile page urls.
  • Added shortcode [wpmem_tos] for Terms of Service page url (replaces [wp-members page=tos url=http://mysite.com/path/to/tos/]).
  • Added wpmem_write_log() function for writing notices to the WP error log.
  • Added hide registration form parameter to wpmem_profile shortcode: [wpmem_profile register=hide].
  • Added $defaults to wpmem_sidebar_status_args. Now can pass $user_login to be used in filters.
  • Moved wpmem_login_status() to api.php.
  • Deprecated [wp-members] shortcode, all other shortcodes no longer rely on wpmem_shortcode().
  • Fixed issue with pre-selected dropdown values to not select empty (separator) rows.
  • Fixed field and custom shortcodes in email not being parsed.
3.1.1 2016-06-13
  • Added downgrade function (currently runs on deactivation) to allow for version rollbacks.
  • Added new dialogs functions to admin api, allows for custom dialogs to be added.
  • Added $user_id and $row to wpmem_admin_profile_field and wpmem_user_profile_field filters.
  • Added new api class and api functions.
  • Added [wpmem_loginout] shortcode.
  • Added support for new field types to native registration and users > add new (except file/image fields).
  • Updated users > add new so that user can be activated when added.
  • Updated [wpmem_logged_in] shortcode so that content is not shown on on a user profile page action.
  • Updated email settings to only save new from/name if changed.
  • Updated admin warning messges.
  • Updated multiselect and multicheckbox fields to allow user selected delimiter (defaults to pipe "|").
  • Fixes issue with profile update when file/image field is required.
  • Fixes image field edit in fields tab to include file type.
  • Fixes attribution setting for 3.0 settings array.
  • Fixes for PHP7.
3.1.0 2016-05-24

This package contains several fixes, some new filters, new field types and other functional improvements.

  • Some general code cleanup, reviewing inline documentation and comments.
  • Fixed issue for sidebar with redirect_to parameter set in widget settings.
  • Fixed issue for custom error messages and email comparison error for profile update (so that errors show in form update state and not on links page).
  • Fixed main options tab where checkbox may not display correct setting if unchecked.
  • Fixed translation issue for required field error where all of the message except the field name was translated.
  • Fixed issue for register shortcode page where if a user has registered, and is logging in but the login fails, display the login error message.
  • Fixed register shortcode redirect parameter.
  • Fixed confirm_password to bypass sanitize_text_field (which breaks password comparison if certain characters are used).
  • Added logic so that user_pages are not blocked (login, register, user_profile).
  • Added after_wrapper array value for wpmem_{$page}_links_args filters
  • Added a new admin api class, utilities object class, and forms object class.
  • Added user facing strings as an array in the main $wpmem object class.
  • Added wpmem_default_text_strings filter for user facing text strings.
  • Added new wpmem_sidebar_status_args filter hook.
  • Added new container in main object for email from and from name settings.
  • Added file upload functions.
  • Added new field types: multiple checkbox, multiple select, radio, file, image, email, url.
  • Added "values" key to the register form rows array to hold possible values (i.e. select, multiple select, multiple checkbox, and radio group) and the actual value to be in the "value" key.
  • Added the ability for dropdown/select fields to have a default value other than the first value.
  • Added filter wpmem_user_upload_dir for filtering the location of user uploaded files.
  • Added wpmem_register_form_rows_admin and wpmem_register_form_rows_profile filter hooks.
  • Deprecated use of wpmem_chk_qstr() function, use add_query_arg() instead.
  • Deprecated use of get_currentuserinfo() (deprecated in WP 4.5), use wp_get_current_user() instead.
  • Email function updates, added 'footer' as an array value in the main wpmem_email_filter filter.
  • Changed install to set email/confirm_email and user_url as HTML5 field types "email" and "url" (now supported).
  • Changed get_action call from init action to template_redirect action.
  • Changed username in register form from log to user_login to match wp native registration form.
  • Changed [wp-members page="user-profile"] shortcode to wpmem_profile.
  • Removed redirect parameter from register shortcode in shortcode menu.
  • Removed kubrick stylesheet from selector (still packaged with download, shows as custom url if used).
3.0.9 2016-04-12
  • Added Custom Post Type support.
  • Added wpmem_member_links_args and wpmem_register_links_args filters.
  • Added $link parameter to wpmem_forgot_link_str and wpmem_reg_link_str filters (gives just the link as an available parameter).
  • Added new wpmem_sb_reg_link_str and wpmem_sb_forgot_link_str filters (same format as above).
  • Added [email] and [user-profile] shortcodes to the new user registration email.
  • Added label_text key to wpmem_register_form_rows filter.
  • Added new auto excerpt settings, can now be set by post type.
  • Added new auto excerpt features including new wpmem_auto_excerpt_args filter.
  • Added forgot username retrieveal link (included on forgot password reset form).
  • Added wpmem_username_link and wpmem_username_link_str for filtering forgot username retrieval link.
  • Fixed handling of post bulk actions to keep current screen (if one is used).
  • Fixed handling of updates to the user pages in the options tab.
  • Fixed handling of empty post object in is_blocked() function.
  • Improved email functions to eliminate get_user_meta() calls when not needed.
3.0.8 2016-01-11
  • Added process for forgotten username retrieval.
  • Removed last remaining instances of extract function.
  • Updated settings for special pages (login|register|user-profile) to store only the numeric primary key ID. This will eliminate the need to update these settings if the site is moved (from a dev to live site, for example). Legacy full URL settings will still be compatible without needing to be updated, but will be automatically updated when main options are saved.
3.0.7 2015-12-09
  • Fix for use of display_name on profile update.
  • Fix for newer installs (post WP 4.0) where WPLANG is not defined and reCAPTCHA is used.
  • Fix in wpmem_form shortcode to skp if no additional tag exists.
  • Fix to plugin_basename.
  • Changes in core to use fields from WP_Members class (preparing for new form field process).
  • Reviews and updates to code standards and inline documentation.
  • Fix for password reset (typo in object name checking for moderated registration)
  • Fix for PayPal extension (http://rkt.bz/r3); added logic to avoid errors if the PayPal extension is disabled but the main option setting remained turned on.
3.0.6 2015-10-13
  • Updates to localization function - documented plugin_locale filter, wpmem_localization_file filter, and improved load_textdomain logic.
  • Added /lang domain path to plugin header.
  • Fixed a bug in the user export function that broke CSV columns when moderated registration was turned on.
  • Improved current page retrieval in wpmem_redirect_to_login() function.
  • Fixed admin enqueued scripts (post/page screen hook did not load from new location).
3.0.5 2015-10-10
  • Updated wpmem_pwd_change and wpmem_pwd_reset action hooks to include password as a parameter.
  • Stylesheet updates for 2015, 2014, and generic (both float and no float).
  • Fix to TinyMCE shortcode button, should now load button on new post/page editor.
  • Added [WP-Members] to the TinyMCE shortcode button for clarity as to what it is.
  • Moved admin js and css files to /admin/js/ and /admin/css/
  • Moved admin class files to /admin/includes/
  • Updated and verified all directories contain an index.php file to prevent directory browsing.
3.0.4 2015-09-28
  • Reintroduced the global action variable $wpmem_a for backward compatibility with certain add-ons, most notably the WP-Members MailChimp extension ( see http://rkt.bz/3b ). Users of this extension should upgrade. This variable had been replaced with the new WP-Members object class introduced in 3.0. However, users of older extensions and those that may have customziations with logic may be using this variable, so rather than force updating and upgrading, it is being added back in.
  • Change to the priority of functions hooked to the the_content filter. Lowering the priority should better integrate the plugin with various builder plugins and other processes that currently filter the_content after WP-Members since the content will now be filtered later in the process. This also should improve situations where in the past the on-the-fly texturization shortcode for the WP-Members forms might remain unparsed.
3.0.3 2015-08-20
  • Bug fix recaptcha v2 decode json response on validation.
  • Bug fix typo in $wpmem object name in admin/user-profile.php.
  • Bug fix message string variable in wpmem_msg_dialog_arr filter.
  • Fix register form shortcode redirect_to parameter.
  • Admin forms now use submit_button() function to generate submit button.
  • Changed localization to load on init action which will allow for more flexibility with filtering custom language files.
  • Added wpmem_localization_file and wpmem_localization_dir filters.
  • Localization checks for file in /wp-content/ language directory first, then loads plugin default.
3.0.2 2015-08-05
  • Added reCAPTCHA version 2 as an option. v1 will remain available for now, to be fully deprecated later.
  • Fixed widget to use __construct for WP 4.3 compatibility.
  • Added error checking for WP reserved names when adding new custom fields.
  • Added wpmem_wp_reserved_terms filter for overriding reserved terms list.
  • Added trim whitespace to password reset and password change form validation.
3.0.1 2015-07-28
  • Fixed use of wp_signon() for ssl.
  • Fixed [wpmem_msurl] email shortcode.
  • Fixed admin js and css load (removed unnecessary slash).
  • Fixed autoexcerpt to use setting from object and not wpmemembers_autoex option.
  • Added filter to remove comments array if content is blocked.
3.0.0 2015-07-08

This release makes significant changes to the plugin's main options in the way they are stored. While care has been taken to make sure that you can roll back to a previous version, you may need to resave settings in the plugin's main options tab when attempting to roll back. It is advised that you test this update prior upgrading an existing install on a production site.

If you have any custom functions hooked to filters and actions that call any file includes directly from the plugin, please note that several file names have changed.

  • New settings and new plugin class WP_Members.
  • New settings now natively support Custom Post Types, both setting defaults and individual post blocking.
  • Settings constants removed in favor of using the $wpmem object class.
  • Added new|edit toggle to wpmem-register_data filter hook.
  • wpmem_settings_loaded action added.
  • Securify comments changed to use comments_open instead of comments_template (with a blank template).
  • New wpmem_securify_comments filter hook to customize whether comments load or not.
  • Registration clear form button defaults to false.
  • Removed wp_set_auth_cookie from login function; it is already done as part of wp_signon.
  • Post meta box title filter is now for all post types wpmem_admin_{post type}_meta_title.
  • New filter for Really Simple Captcha folder location: wpmem_rs_captcha_folder.
  • New shortcodes [wpmem_form] added.
  • Shortcode dropdown selector added to tinymce toolbar in Post/Page editor.
  • Added redirect_to as a function argument if calling wpmem_logout() directly.
2.9.9 2015-03-25
  • Code standards in wp-members-email.php
  • Rebuilt admin notification email to follow new regular email structure with more filters in wp-members-email.com
  • Added $toggle to headers filter that is used in both emails so that headers could be filtered based on the email being sent (i.e. sending plain text for admin notification vs html for others. in wp-members-email.php
  • Added redirect_to parameter as a widget entry in wp-members-sidebar.php
  • Corrected flaws in error checking for adding new fields in /admin/tab-fields.php
  • Added functions for updating user_status in wp_users table in /admin/users.php
  • Fixed get_user_meta 'true' error in wp-members-core.php, users.php, /admin/users.php, /admin/user-profile.php
  • Added dummy comments template to protect comments without post password.
  • Added new action for deactivting a user (opposite of wpmem_user_activated).
  • Added check to remove password, confirm_password, and confirm_email from export (data for these was already skipped, but the field space was there).
  • Added wpmem_status_msg_args and wpmem_login_links_args filters.
  • Corrected Really Simple Captcha, added field wrapper and should not display on user profile edit.