Users who configure to block custom post types will notice that you don’t get the meta box that WP-Members shows for blocking (or unblocking) posts and pages. While you can still use custom fields directly for custom post blocking/unblocking at the individual post level, it’s nice to have the meta box. So I’ve put together a code snippet for you to use to implement this on your custom post type editors.
Blocking Custom Post Types
Note: As of WP-Members 3.0, you can add custom post types to the plugin’s main blocking options. See the options documentation section on Custom Post Types.
This is a new method of blocking custom post types. There are two main differences over the method described here and the original method.
First, this method is a little more scalable. If you have multiple custom post types and want to set a blocking value for each, you only need to add to the settings array. Second, this method allows you to override the blocking value on an individual custom post type post than you have set for the custom post type as a group. This operates the same as regular posts and pages. It also takes advantage of the new extra settings that WP-Members version 3.0 offers.
(If you want to add a meta box for blocking/unblocking individual custom post type posts, there is an additional code snippet you can add here.) Continue Reading →
WP-Members 2.9.7 native registration error patch
The 2.9.7 release of the plugin was intended to include a fix for the native registration to work with localized (translated) sites. Unfortunately, there was a flaw in the line that fixes this. The flaw causes a breakdown of the native (back-end wp-login.php) registration process.
I have patched this in the main plugin download package. Since I caught this early and the majority of users do not use this backend registration, there aren’t that many users effected.
But if you are one of users effected by this, you have two options. First, as I just mentioned, the download package is fixed so you can re-download the plugin. You really only need to replace /wp-members-core.php (and /admin/user-export.php for one other patch).
Or, you can apply the fix yourself. If editing in WP, go to Plugins > Editor and select WP-Members from the plugin dropdown. Open the file /wp-members-core.php.
Near the end of the file, the second from the last function is wpmem_wp_reg_finalize. Line 920 is the first line of this function and you will see:
$native_reg = ( isset( $_POST['wp-submit'] ) && $_POST['wp-submit'] == esc_attr_e( 'Register' ) ) ? true : false;
The esc_attr_e is the problem. This echos the output and we don’t want that. This should be changed to esc_attr( __( ‘Register’ ) ) like this:
$native_reg = ( isset( $_POST['wp-submit'] ) && $_POST['wp-submit'] == esc_attr( __( 'Register' ) ) ) ? true : false;
WP-Members 2.9.7 export users error patch
The export users process in the initial release of WP-Members 2.9.7 can cause an error if debugging is turned on or PHP messages are set to display warnings. Continue Reading →
WP-Members 2.9.7
This update re-works a couple of behind-the-scenes functions; most notably the non-admin email function and the user export.
The re-work of the wpmem_inc_regemail function doesn’t change much around the end result of the function (if at all), but makes a huge difference in the ability of the email content to be filtered and changed. The new version of the function shifts around some of the steps into a more logical order in order to give a single filter hook for all emails that passes not only the email body content (as before), but also also the subject, the user ID, and a number of other settings, along with the WP-Members fields array and the user’s raw registration data. This now gives you anything you need to make adjustments to the email based on what the user registered as, what their ID is, or any other criteria. The new hook is wpmem_email_filter and it is located in wp-members-email.php.
User Export
The other big change was a new export function. Previously, there were two separate functions – one for exporting just selected users and the other for exporting all users. The new function combines these two processes since they were very similar. There is a new filter hook in the process that will allow filtering certain arguments (settings) for the export process. I’ll be documenting that later. The process from start to finish with the new function is intended to provide the same end result as the previous two functions. The new function is intended to be expandable and with the new filter hook for settings, it will be able to be called directly for specific exports if you want to do something custom.
Other Updates
Some other minor changes and fixes include:
- Fixed the comparison logic for the CSS class for checkbox fields in the wpmem_create_formfield function.
- Updated native registration function for use on localized sites.
- Added redirect_to parameter in the registration form, similar to login.
- Fixed plugin admin page for multisite, if user has theme options edit capabilities.