I have been working on a number of updates from the master project list to include in the upcoming WP-Members 2.6 version upgrade release. Here are the main new features you can expect.
Changes to wpmem_securify and associated dialog functions
There has been a major rewrite to the wpmem_securify function and as a result, most of the dialog functions found in wp-members-dialogs.php have also been rewritten. The objective was to better handle the use of the shortcode API and fine-tune the function.
When the plugin was simple, this function basically blocked the value of $content by dumping it and calling the appropriate dialog functions (such as the login form) which echoed their content directly. Then, based on user requests, a number of other features were added, including a move to the WordPress shortcode API.
The problem was that since a lot of these things were later add-ons, they didn’t necessarily work smoothly with all of the process flow, programmatically speaking. A problem that annoyed me was that with the addition of shortcodes, the function actually had to be used twice before a page was generated.
The primary change in the dialog functions is that now, rather than print their result, they return it to the wpmem_securify function as a value. This allows wpmem_securify to output to output the dialog more efficiently.
As a result of this change, users will eventually be able to better customize their installations of WP-Members. I expect to support filter hooks in the future so users can write their own filters as needed. Also, these changes will make the use of shortcodes better and more efficient.
Another big update that has been on the project list for awhile and a feature that is clearly needed to make this plugin better is the ability to customize the registration fields via the admin panel. The plugin has had the ability to decide what fields are used, but customizing these fields (for example adding a new field) has had to be programatic – not easy for non-php-types.
I have added some ajax scripts to be able to drag-and-drop the field order, which will make registration field management easy. I am working on an ajax process to add and delete fields, but that seems to be holding up development. So, rather than leave out this important feature, the 2.6 initial release will feature a non-ajax version of adding/deleting fields and I’ll release an update later when the ajax version is complete. That feature alone should give this plugin a much needed boost in ease of customization.
For those of you who have been asking for integrated email features, these will be coming in the 2.7 project. I have been working on some additional functions such as an integrated newsletter and customizing the response emails. Full development of those features will not be complete for adding to the 2.6 release – but it is coming!