WP-Members™ is a free plugin to make your WordPress® blog a membership driven site. Perfect for newsletters, private blogs, premium content sites, and more! The plugin restricts selected WP content to be viewable by registered site members. Unlike other registration plugins and WordPress® itself, it puts the registration process inline with your content (and thus your branded theme) instead of the native WP login page. WP-Members™ works “out-of-the-box” with no modifications to your theme, but it is fully scalable for those that want to customize the look and feel, or want to restrict only some content. It is a great tool for sites offering premium content to subscribers, and is adaptable to a variety of applications.

I would suggest that you sign up for the premium support membership.  At $47, it is a good value and this price gets you access to the support forum, priority email support, a code snippet library of customizations, and access to exclusive plugin extensions such as registration blacklist, user tracking, PayPal subscriptions, and more.

Download the plugin

The plugin is currently maintained at the WordPress Plugin Repository. You may always find the current production version there.

Support documents

The primary support documents I have created are the Quick Start Guide, a visual support document to get you started, and the Complete Users Guide, which documents all of the features of the plugin.

Tips and Tricks

There is a difference between Posts and Pages in WordPress. If you use WP primarily as a CMS using pages for content, you should review this post:

Translation and Localization

If you are using WordPress in a language other than English, the plugin has been adapted for localization.  A POT file and existing translation files are available.

Plugin Name

This plugin has been named WP-Members™ since its public introduction in 2006.  Back then, it was the only plugin doing what it does.  Since then, there have been some commercial plugins that have hijacked the name.  I have released some statements with information regarding the name:

  • Jules

    Looking for someone who is able to customize and limit access for a list of users. We need to controll:
    If some users have some password, generate a private link to display some content if not display error.
    We have a list of 10 users registered with a unike id as password. If the password is correct display a link : xxx.xxx.xx.xx/ users/yyyy where yyyy is the password.

    • http://butlerblog.com Chad

      Jules – I know you’ve been trying to get this done. I am sorry it fell through the cracks here – I’ve just been so busy with rocketgeek.com (support site for the plugin) and working on the 2.8 release of the plugin. Have you found a solution, or are you still in need of something?

  • http://www.ridethetiger.org bar

    first, thanks for the plugin which I am using happily.
    One question though,
    has anyone changed the WP search tool so that results are only shown for pages that a user can see.
    Currently a user can search and get loads of hits only to find that they can’t actually see the page / post that was returned.

    If anyone has solved this and would share the code I would be very grateful.

    • Claudiu

      You can make this with a simple selection from wordpress post type. Make a post as private and the results will be only pages that can be read by anyone. Private posts can be read only be registered users.

    • http://butlerblog.com Chad

      Well, in the default of the plugin, that is actually part of the intended result – the idea is to drive users to register through excerpted “teaser” content.

      I realize that not every use of the plugin will require the same type of result, so if there are things you want to prevent from showing, I would suggest working on it programmatically. Depending on your search process, that would mean filtering the results based on the WP-Members custom fields relative to your default setting (so looking for posts that have a post meta unblock if posts are blocked by default, or vice versa).

  • http://carinroemenie.nl martin

    Hi Chad,
    Three questions
    1. The password validation is not working. Users can create a username with dots and spaces.
    2. I would like to reduce the password complexity. Is there some way to do that?
    3. After registration, and logging in, the first time login I get a blank screen. If I refresh, I get the screen. Has this got to do with wp members?


    • http://butlerblog.com Chad

      I think you mean username validation? The username validation uses validate_username, which is a WordPress function. Yes, it may allow things you don’t want to allow. But it has an available filter that you could write your own validation routine and filter the boolean that the function returns.

      Same thing with the password – the plugin uses wp_generate_password, the result of which can be filtered with the random_password filter.

      On your last issue, it sounds like something is interfering with the login process. Are you using a cache plugin?

      • http://carinroemenie.nl martin

        thanks for pointing met to the functions. And yes it is correct, I meant username validation.
        About the cache, I do not have any caching mechanism activated what I know of. I do have WP Super Cache installed, but it is not activated, and the problem was there before I installed WP SC.
        Are there plugins which may interfere with logging in?

        • http://butlerblog.com Chad

          WP Super Cache may be alright (although you’re not using it so that’s obviously not the issue). I have found that W3 Total Cache is most often not configured correctly to allow for the plugin to operate.

          I do recall that there have been some plugins that have interfered with the login process, but most of the time these were one-off situations. I think there is a facebook plugin that has been a compatibility issues, but I can’t recall the name.

          A possibility for testing may be to deactivate all other plugins, then bring them up one by one and test each time. That way you could isolate the culprit. If you do, please let me know.

  • Soulé Jacques

    I was testing your Plugin, thanks for that, I like it.
    I translate in French most of the messages, but unfortunately most of the button are in English language (e.g. IDENTIFICATION in the login menu and many more in the register menu). please could you tell me where to find all the button used in your plugin.
    Thank you in advance.

    • http://butlerblog.com Chad

      Are we talking about WP-Members? There is not “identification” – do you mean username? There is French translation already included in the download.

  • Antoinne

    Hi Chad,

    After updating several wordpress sites, I have some problems with the wp-members “showing excerpted content above the login”. Somehow it now only shows the login form on posts previously showing the excerpt with login form. I have tried several things, but I am a bit stuck since it happened on two different sites. Any suggestions on where to look? I have doublechecked the settings, disabled and enabled the plugin, etc. It worked fine for many months, but now non-members can no longer read the excerpt.

    • http://butlerblog.com Chad

      You didn’t by chance update those sites with the 2.8.0 beta release did you? One of the release candidates went out with an install file that had the settings update toggle turned on. This would update the plugin’s options to the default, of which show excerpts is turned off. Double check that you have that option turned on.

  • olga

    Hi Chad,

    currently testing your plug in to make sure it’s everything we want and I just had one question. I have my settings so that users must be logged in before posting a comment. If you click on the “login” link it takes you to the default WP login. Is there a way to redirect this to the optional “register page” i’ve created?

    thanks for a great plugin!


    • http://butlerblog.com Chad

      WordPress has a hook login_url that allows you to filter that to any value.

  • http://www.phpwordpress.com shady mohamed

    Hi Chad thanks for this a great plugin!

  • Pingback: 会員制写真館の構築。 – ダウンアンダー:Wordpress・XOOPS・CMSはおまかせ。東京都練馬区のデザイン事務所 | 印刷・ホームページなど、販売促進のためのデザインを提案します。

  • Pingback: Registration Module in WordPress: WP-Members | Tejash H Shah