Struggling with consistency

Well, I have had this blog for a number of years now.  And considering how much work has gone into it, I am happy with the results.  But I know that it can be far more successful than it has been.  I know that probably the biggest thing holding it back is my own level of consistency (or lack thereof).

So, I will commit to being more consistent in my focus on this project.  They say it takes 28 days (or 30, depending on who you talk to) to develop a new habit.  So for the next 28 days, I will post every day.  And I won’t post worthless information just for the sake of posting.  My biggest challenge when posting has been weeding through the stack of possibilities, then losing focus and I end up not posting anything.

I have wanted to redesign the site, so I’ll try to do that but only in so far as it doesn’t interfere with posting consistent relevant content.

This would be a good time to plug Darren Rowse.  If you don’t have his 31 Days to Build a Better Blog, then you need to get it.  I got it, even after years of blogging and found a lot of useful information.

Incidentally, Darren has a new ebook out, ProBlogger’s Guide to Your First Week of Blogging.  I don’t have it (yet) and I don’t usually make recommendations on products that I have not personally reviewed, but if his previous material is any indication of the quality of content, I would say that it’s worth picking up a copy.

[Update: I have purchased a copy of ProBlogger’s Guide to Your First Week of Blogging and am working on a review.]

Upgrades always seem to go like this…

As I mentioned earlier, WP-Members has gained in complexity which makes releasing upgrades more complicated.  Case in point – I have realized that the toggle to force a settings override was left on (I was debugging checkbox support at the end of testing – a requested feature addition).

About the first 225 downloads were affected.  I corrected it 4/13/2011 around 9:10 US Central Time.

If you updated before that, you may want to double check your settings.  (If you use the default install settings, you may not even notice.)

To correct this without redownloading/reinstalling, edit $chk_force in wp-members-install.php to be:

$chk_force = false;

At long last

I am finally ready to release WP-Members version 2.5.0 as a production release.  This release represents many months of work moving from version 2.3.2.  There are many new features, and as such, it required a lot of testing and debugging.  As this plugin has grown in features, it has also grown in complexity.  This makes each new release much more complicated than before, as I try to make sure that as many upgrade scenarios are accounted for.

Here is a list of changes since 2.3.2:

New Features

  • added reCAPTCHA support for registration
  • added Terms of Service (TOS) checkbox and popup
  • added shortcode support for members area and register pages
  • added custom user management panel for bulk user edits
  • added user list export
  • localization support (beginning)
  • contextual help in admin panels (beginning)
  • added shortcode support for login only page
  • added support for checkboxes in the registration fields
  • added setting for members area/settings page url (so we can have “forgot password” link anywhere)
  • added a “change your password” link in the email if members area/settings page url is set

Code Improvements

  • updated the registration process so that unused fields are not put into the user_meta table
  • updated emails for moderated registration to send user the url they signed up on
  • capture user’s IP address at registration
  • sets logged in admin as activated (prevents admin from accidentally being locked out)
  • added toggle to force clean install of settings
  • improvements to uninstall process

Bug Fixes

  • added stripslashes to dialogs (accommodates the use of apostrophes/quotation marks)
  • fixed sidebar login for non-widget use (bug from 2.3.x)
  • corrected a bug introduced in the 2.3.x widget update that caused the widget to be undraggable in certain instances

WP-Members 2.5.0 is available here

Protecting Pages

When WP-Members was first offered, the primary use of the plugin was to protect content in posts.  WordPress itself was primarily used as a blogging platform where most content was actually in posts as well.  With the continued development of the WP platform and the widespread use of it as a lightweight CMS, that has evolved to situations where users are using it more as a CMS and managing pages more than posts.  (If you don’t really understand the difference, there is an overview at

WP-Members has provided blocking for both posts and pages since the very early versions.  But it seems lately I have been receiving a lot of support questions regarding the blocking of pages.

The default installation for the plugin is to use post excerpts above the ‘more’ tag if the user is not logged in.  This is true of both posts and pages.  You can turn this feature off in the plugin’s settings by unchecking “show excerpts.”  Turning this off will not effect the use of the ‘more’ tag for post summary pages.  It only serves to turn off excerpts on the actual post or page if the user is not logged in.  If the user is not logged in, they will be provided with a message indicating that the content is restricted, the login form, and the registration form.  If excerpts are turned on, then all content before the ‘more’ tag will be presented before this.

Some important things to consider:

  • First, if excerpts are turned on (“show excerpts” in the plugin admin panel), you MUST use the ‘more’ tag on any protected pages.  If you don’t, all of your page content will be visible before the login form. If you don’t want your pages to function this way, you need to turn off “show excerpts.”
  • If you use the ‘more’ tag on a page, you cannot have any use of the word “more” in the excerpt.  If you use the “more” in your excerpt, the parser will truncate your excerpt there rather than at the actual ‘more’ tag.
  • You cannot have any shortcodes in the excerpt.  I am working on this for future upgrades, but at this point, if you use a shortcode in the excerpt (including WP-Members own new shortcodes), they will not be parsed and executed.

The default install for the plugin is to not block pages by default.  If you leave this setting, you can block any individual page by using a custom field “block” and setting the value to “true”.  Important: this is case sensitive!  Do not put this in as “Block” or it will not work.

If you have changed the default setting to block pages by default, you can unblock pages by using a custom field of “unblock” with a value of “true”.  (Note: also case sensitive.)

If you are using either of the above two custom fields and you have left the plugin’s setting to show excerpts, you MUST use the ‘more’ tag on the blocked pages.  If you don’t want to do that, turn off the show excerpts setting.


If you have just installed the plugin and find that your protected pages are showing content before the login that should not be there, check to see if you have the default setting of “show excerpts” in the plugin’s admin panel.  If you do, you either need to turn this off, or use a ‘more’ tag where you want the excerpt.

If you are using a custom field to block or unblock a page and you are not getting the expected behavior, double check that you have not inadvertently capitalized the custom field (i.e. “Block” or “Unblock”).  If you have, you are going to need to remove this from the database manually.

New Year, New Ideas

As I enter into the 8th year of blogging (and the 6th on this blog), I have a lot of undone ideas to work on.

I remain committed to further development of the WP-Members plugin.  WP-Members continues to be one of the most popular (and FREE) WordPress membership plugins.  Last fall, during the last release cycle, it was as high as about #250 in terms of popularity on (that’s the upper 2% of all plugins).  My blog has achieved a 3 month average alexa rank as high as 111,000 and an intramonth spike to about 50,000.   It currently has been downloaded more than 33,000 times since fully moving the hosting to WordPress (I didn’t keep count before that).  I expect that to spike when we release the current beta as a full production version.  This is all thanks to you – the users of the plugin and readers of my blog.  And that keeps me driven to keep it going.

I certainly thought about shutting down further development of the plugin.  There have been some significant challenges this year.  The most challenging has been dealing with infringement on the mark WP-Members.  (More here and here.)  Facing competing ideas doesn’t bother me.  In fact, its great for the WordPress community as this drives development.  When I first released WP-Members in 2006, there were no other similar plugins.  Now there are many.  But dealing with trademark infringement is another story.  Trying to ride the name of an existing plugin only creates confusion for the community, as opposed to bettering the community through offering additional choices.  Even more frustrating is that this presents a challenge financially.  Fighting trademark infringement takes cash and that’s a challenge for an open source plugin that relies on donations.  The infringers offer a commercial non-open source product, collecting money for each sale.  WP-Members is a free WordPress membership plugin that relies on the support of its users.

For those of you that have donated to the further development of this plugin – I thank you!  You keep it going.  Also, thanks to those of you that have come to me for custom work by discovering this plugin or blog.  I thank you as well!

If you haven’t donated to this plugin but you use it, consider supporting it financially.  I understand that not everybody can, but a little goes a long way.  (Currently, less than 1% of the users of the plugin support it financially.)  That brings me to some additional “New Year, New Ideas” ideas…

First, I am going to make some changes to the support process.  Believe it or not, I’ve had a few jokers make donations in the 10c range.  I don’t want to belittle the donation process for those that $1.00 might be a stretch for, especially when I am making an appeal for you to donate.  But I do everything I can to make this plugin a professional quality product.  Over 1000 hours have gone into its development.  Therefore, I am going to make the sponsorship process more professional as well.  Starting this year, I will be offering levels of sponsorship.  While all donations are appreciated (greatly!), higher levels will receive more perks such as permanent links on this site and probably some advertising space.  I’ll be rolling this out this week and will provide more details then.

Second on the financial front will be the introduction of my first commercial plugin.  Actually, it’s not really a stand-alone plugin.  It is a module for the WP-Members plugin that will provide time-based user expiration for both subscriptions and trial periods.  This is a much needed step ahead for the WP-Members product that will give subscription based membership sites an easier way to manage expirations based on time periods you set, with settings for number of days, weeks, months, and even years.  You’ll be able to offer an initial trial period which will then need to be renewed to a subscription period.  Again, more details will be rolled out as I complete the product.  It’s nearly ready and I am targeting release in conjunction with the next production release of the full WP-Members plugin.

But, enough about finances and WP-Members.  My Verse-O-Matic plugin has been a little neglected over the past year.  I did introduce some choices for verse-of-the-day (VOTD) RSS feeds, but aside from that, there hasn’t been much on the development front.  I’d like to further improve the Verse-O-Matic plugin and also get it promoted in a better way.  I will be making some changes to make compatible (and hopefully picked up by)  This will also make it more easily compatible by administrators of WP multi-site.

Also on the plugin front, I have some additional existing plugins and new plugins to be updated and/or released.  I intend to finish the Clickbank Affiliate Cloaking for public release and hosting via  Also, I intend to put some other development code to the test and release a few more plugins.

Lastly, but certainly not least, I want to rework this blog.  I need to make old content easier to find, especially as it pertains to self-service support for WP-Members.  I find that I continually refer to FAQ type posts in questions I receive about the plugin via email.  That means I am not getting to info out there in a way that makes it easy for the users to find.  Also, I will work on some additional support items like rewriting the WP-Members Quick Start Guide and probably some how-tos, screenshots, and setup videos.

Thanks for making 2010 a good year.  Join me for an exciting 2011!

WP-Members new feature release update

1.1.11 Update: WP-Members 2.4.0 beta release 4 has been released and is available here. Be sure to read the release notes before using. Also – there is a .pot file for translators.  If you are working on a translation, be sure to let me know.

Well, I think I have reached a point where I am going to close the development version of WP-Members to new features for this cycle.  I’ve got a few things that I am still working on that I will put off to a future upgrade – they’re not that big a deal for now.  In the meantime, I think we’ve got a pretty good release package that I need to start testing.  Also, I need to get it out to the potential translators as we will be adding localization this time around.

I haven’t made a final decision, but I think this release will be 3.0.  There are enough changes this time around to launch us to a completely new version (at least, I think so).  This version will support a series of add-on modules that I am working on, the first of which is a time based trial/subscription cycle.  Also, this version will be easier to customize once complete.  There are some kinks to work out on that end yet, but once that’s worked out, you’ll be able to manage a customization file rather than hacking the plugin.  This should make upgrading easier for those that work in customizations.  I know there are quite a few developers that use this for clients and thus put in little customizations here and there (mostly with display/look-and-feel).  This should make your life easier and encourage upgrading to the latest version.

I know I’ve mentioned some of the other features for this release before, but it doesn’t hurt to repeat in case I missed something.  The new version includes:

  • reCAPTCHA for initial registration
  • Agree to Terms of Service (TOS) field (This will have it’s own link of a popup of the TOS text you define. Also, I’ve added it in such a way that if you already have users, if you add the TOS to the registration, any existing users will need to agree to the TOS before updating their registration info.  Currently, this does not include an option to force existing users to agree before logging in again, just before updating their registration info.)
  • Shortcode to create the “Members Area” and “Registration” pages.  (This will still support the legacy <!–members-area–> and <!–reg-area–> as well, but I may eventually deprecate those.  Development of the shortcode will progress in new versions to give greater flexibility with these pages.)
  • Contextual help in the admin pages – any admin pages that have settings or features for WP-Members will now have contextual help in the WP admin help pull-down (that nifty little pull-down at the upper right of the WP admin, for those of you who haven’t noticed it before).
  • Custom user management under the “Users” menu in the admin – this allows for the bulk management of users as well as the addition of a user export feature (exports any selected users as a CSV file).
  • The email process now includes a backlink to the page the user registered on (as well as the original link to the site).  This should be helpful for those that use moderated registration so the user can find their way back to the content that got them to register in the first place.
  • The IP of the user is now captured at registration.  Some plugin users have requested this as they keep a “ban” list.  It may also help in the future for user data management.
  • Improvement of the activation process for moderated registrations has been added to avoid the admin from activating themselves and thus resetting their password and locking them out.  I have to admit no one asked for this feature so I must be the only one that has accidentally done this 😉 (or at least I’m the only one admitting to it)
  • Added a code toggle in the install file to force a clean install of all settings.  While you should use caution when doing this, it should make custom installs a bit easier.
  • Improved the uninstall process to make sure we clean up all options.
  • Added the stripslashes bug fix
  • Fixed the sidebar bug from 2.3.x
  • Changed the registration process to not add usermeta for unused custom fields (although WP does do this with its own fields).

All of this in the 2.4.0 beta release 4 which will be uploaded sometime tonight.  It will be available for public use on 1.1.11 (I wanted to work that date in somewhere) by going to and selecting 2.4.0. Double check the main file header or the plugin admin page to make sure you have public beta version 4.

While I only try to release stable versions into the wild, remember this is beta software.  If you use it in a production environment, you do so at your own peril.  I will have a notes.txt file included that will outline the use of any new features.  While priority support is for translators and financial supporters of the plugin, if you notice a bug please let me know.