Update on WP-Members New Feature Release

I have been working feverishly on some new features for the WP-Members plugin.  (Read my initial announcement.)

I am getting close to having a true release candidate ready, but will probably allow for some additional beta testing.  This release is going to (HOPEFULLY) be a launchpad for a verion 3.0 release which will take the plugin to the next level.  But until then, here are some of the new features that are completed and will included in the upcoming feature release:

New Features:

  • reCAPTCHA option for registration
  • Shortcode for members area and register pages
  • Contextual help in WP admin panels
  • Custom admin panel for bulk user management: user export, activation, etc.

Code Improvement:

  • Cleaned email process to include link back to the page a user registered on
  • Capture user’s IP at registration

Bug Fixes:

  • added stripslashes to dialogs
  • Fixed sidebar bug
  • changed registration, update, and admin update to not write unused custom fields to the DB (WP actually does do this with its own fields)

I have also completed the framework for an add-on module that will allow for time-based user expiration (both trials and subscription periods).  The support framework will be included in the new release so that the add-on can be plugged in later.  I have not decided if this will be released as a premium add-on or not… Honestly, I am leading towards making it a premium product.  If I do go that direction, I will make allowances for those that have financially supported this project to receive this free of charge.

Other things in the pipeline include adding an agree to Terms of Service checkbox option for the registration, easier field customization, ability to tag notes to user data, and a few other things.  As always, feel free to make suggestions.  Most of the current list of upgrades was the result of suggestions from users.  You never know, your suggestion may make it in to the next release.

Plugin for WP Plugin Developers: Show Current Screen Object

You are working on your fancy new WordPress Plugin and you want to incorporate some nifty hooks into the menu system, or you are trying to add some contextual help without overriding the existing help text.  How can you find the id of the page to hook into?

Wonder no more.  I’ve written a simple plugin to help you.

On the admin side, WordPress uses an object to store information about the current screen you are on.  This includes the id, the action, the parent file, and some other miscellaneous and sundry items.  This is information a plugin developer needs to hook into, but, as good as the WordPress Codex is, sometimes it can be hard to find certain things, especially if you are tapping in to an area that there just hasn’t been a lot of outside development.  For me, this came while trying to add contextual help in the WP admin areas for my plugin WP-Members.

I wanted to add to the existing contextual help (that little help menu that pulls down from the WP admin header) for admin panels that WP-Members used, such as its own plugin page, but also the post and page edit screens, some of the settings screens, etc.  For this, I needed “screen_id” of the screen/panel to pass to the filter for contextual help.  Maybe I just wasn’t looking in the right place, but it seem that there really isn’t any documentation in the codex on this.

The screen_id is in a global array called $current_screen.  So I figured I could dump the contents of the array on the screen to find the ids I needed.  Enter the plugin.  I did this as a plugin so I could turn it on and off as needed.  It basically gets the value of $current_screen and uses print_r to dump the values.  With the plugin I was able to add a little css so it would display in a box at the upper right of each admin screen.  That way, as I browsed through the panels I wanted to hook into, I could get the screen info to apply to the filter.

[ Get the script ]

SEO Plugin for WordPress | Sponsored Plugin Review

This plugin fills a void in the SEO plugins that are available for WordPress.  Most SEO plugins tend to focus on keywords, titles, and metatags.  While those are important, one of the areas that is missed is how Search Engines rank your links based on how your backlinks are titled.

Google has an algorithm that filters for link spam and other search engines (including Google) look for keyword rich links.  Your keyword rich post is not benefited when sites are linking to it with “click here.”

But how can you control the text that people use in linking to your site?  SEO Link Rotator fills this void by giving you the ability to rotate the link text that people use when copying a link to your site.  Much like social bookmarking plugins that provide a “link to me” type of button, SEO Link Rotator provides a button to provide a link, but it rotates through up to 5 possible sets of link text that you define via the WP admin.


This plugin is a snap to set up.  And there is a free version that allows you to try before you buy.  (The free version is fully functional, but does not allow you to set 5 possible links.  It defaults the the post title.)

Not only is it easy to set up and install, it’s easy to start using.  Once activated, it will automatically place a button at the end of each post, encouraging your readers to link back to you.  No edits to your theme are required.  If you are using the pro version, you can set your 5 possible text links on the post edit panel.


As a WP Plugin developer, I am generally a little more critical of plugins from both an operability standpoint and how the plugin is built and coded.  The SEO Link Rotator plugin is pretty well written from a php development standpoint.

This is more nitpicky rather than a major flaw, but I’d like to see admin panel functions broken out to a separately loaded file rather than the main plugin file.  While this isn’t a concern for someone running a blog that doesn’t get much traffic or is on a dedicated server, if you have a high traffic blog or are on a shared system, this is extra and unnecessary bulk that should be trimmed.  I would suggest the developers consider breaking out the admin functions to a separate file that loads only if the user is an admin.  This makes for a much more efficient plugin for busy sites.

Give it a try

Overall, I like the plugin.  It is not an “also-ran” of the many social bookmarking/linking plugins out there already; ditto for the meta-tag SEO plugins.  This plugin is unique, and as I said before, it fills a void in the the WP SEO plugin arena.  Give SEO Link Rotator a try.  With the free version, you can easily determine if this plugin is right for you.

This is a sponsored review for which I received compensation.

Problogger offers special November discount

I’ve written about Darren Rowse and his 31 Days to Build a Better Blog course before.  I think very highly of Darren, his book, and his course.

This month, Darren has been offering both the 31 DBBB course/ebook AND his new(er) book Copywriting Scorecard for Bloggers for 25% off.  But you MUST ACT NOW to get the discount!  This is only for the month of November (which, by the way, ends tomorrow).  The discount code is November25 (think 25% off for November).  Enter this code when prompted at checkout to get your discount.

31 Days to Build a Better Blog

Copywriting Scorecard for Bloggers

Both ebooks are regularly $19.95, but with the discount, they are $14.95 apiece. I recommend you get both – especially since they are not usually on sale!

WP-Members new feature release

I am very excited to announce an upgrade to the ever-popular (and FREE!) WP-Members plugin. This is tentatively going to be the 2.3.3 release, although depending on how much gets completed, it may push us to call this 2.4.

Update 11/12/2010: As a new feature release, I am releasing this as 2.4.  The beta version is now available at http://wordpress.org/extend/plugins/wp-members/download/.  Just download the zip of 2.4.  This tag will remain as any updates are made to the beta, so you’ll always have the most recent release.

First, some bug fixes

Since the 2.3.2 release, there haven’t been too many bugs, which is good. 2.3.2 was a bug fix release itself and it is always a little embarrassing to have a new bug come out with the bug fix release. However, some unnoticed (and pre-2.3.2) bugs have become apparent and will be corrected in this release.  The most notable are the non-widget sidebar function and the stripslashes admin bug.  Both of these have current (and easy fixes), but they are fully corrected in the upcoming release.

If anyone notices any other bugs, be sure to let me know soon so we can attempt to get fixes in prior to this release.

And, some new features

One of the most requests (and the most needed) new features for the plugin is CAPTCHA support.  If you do not know what CAPTCHA is, it makes things difficult for automated/computerized processes to utilize the forms on your website/blog.  The Official CAPTCHA Site has some good information on this.  In our case, we want to prevent automated signups full of spam.  So I have added a new option of placing a CAPTCHA in the registration form.

There were many possibilities in going down this road.  There are a number of WP plugins that provide CAPTCHA for comments, contact, etc.  I had considered the possibility of leveraging one or more of those.  But that brought in a slew of potential landmines when compatibility is considered as well as future upgrades and how to pick one over the other.  So I chose to go with what I consider to be the standard: reCAPTCHA.  The reCAPTCHA project was chosen for a number of reasons:

  1. It is a project of Carnagie Mellon University, where the concept of CAPTCHA was introduced.
  2. It is now a project of  Google Labs / Google Code.
  3. It helps with the digitization of books.
  4. It is FREE!

It is also widely used, so (a) it will not be foreign to a number of your users and (2) if you are already using reCAPTCHA, it should integrate with your existing site.

There are unforeseen pitfalls in any new feature release and this is no exception.  While I have tried to build this with compatibility in mind, there could be potential collisions if you are using an existing plugin such as the WP-reCAPTCHA plugin.  I tried to consider how other processes utilized reCAPTCHA and tried to keep this (a) restricted to WP-Members and (b) built in a way that it shouldn’t interfere with other instances of reCAPTCHA in the site.  It holds its own settings for the reCAPTCHA keys and calls its own library.  Please note: if you are already using reCAPTCHA in other areas of your site, even though I’ve tried to make this compatible, there could be potential problems I haven’t noticed.

Another new process is the addition of localization.  I had been working diligently toward full localization support earlier in development, but somewhere along the way I introduced a slew of new features (essentially when the admin panel was introduced) with the intention of coming back to clean it up later.  Well… I never did.  Until now.

While I am not going to say that this release will have full support, I have diligently gone through and tried to make sure that we are ready to flip the switch.  From this release I will release a thorough POT file for anyone interested in translating.  For those of you that need foreign language support, there is already a list of potential translators that have come to me so we should have support in the future for quite a few languages.

Two other features that I want to get done, but may have to be put off are:

  • Bulk Registration Moderation
  • Bulk User Export

I’m trying to get those done for this release, but there’s quite a bit of work yet on already growing admin panel.

As always, if you have feature requests, feel free to let me know.  Just keep in mind that requesting doesn’t equal immediate implementation.

WP-Members™ 2.3 Bug Fix – Non-widget Sidebar Login

An astute user recently pointed out an unknown bug that was introduced in the WP-Members 2.3.0 release and carries through the current 2.3.2 release.

If the user calls the wpmem_inc_sidebar function directly (as in the case of not using the widget), you will get a fatal error. I made some file structure changes in 2.3.0 in the area of the sidebar, the widget, and the login status and manually calling the function got overlooked. Fortunately, this effects a small number of users, there is an easy workaround, and I’ve already added a fix in the upcoming 2.3.3 feature release.

If you are effected by this bug and need a fix before the 2.3.3 release, you can do the following:

  • Open wp-members.php
  • At the end of the file, before the closing php tag (“?>”), add this:
  • Save the file