Member Access

Member Access allows a WordPress administrator to make individual posts and pages accessible only to logged-in members. Member Access allows global configuration so that all posts or pages can be viewable by everyone (the default) or only by members, and it also allows each post and page to override the global setting.

WordPress pages which display multiple posts, such as search results, archives and RSS feeds, can be configured to either omit entirely content that is only available to members or to include an excerpt for that content to entice non-members to sign-up.

Template developers can take advantage of the members_access_is_private template tag to make custom template modifications to further configure the display of content that is viewable only to members.

Non-members can be redirected to the WordPress login page, or to a page of the administrators choosing, when they access content intended for members. Redirection can also be configured to occur if generated archive or search result pages contain only member content.

Installation

Installing Member Access is easy:

  • Download and unzip the plugin.
  • Copy the Member Access folder to the plugins directory of your blog.
  • Enable the plugin in your admin panel.
  • An options panel will appear under Plugins.
  • Choose the settings you want.

Template Developers

This plugin provides the template tag member_access_is_private() that can be used to determine whether or not a post should be visible only to members. You can use this tag in your templates to add custom styles to posts that are not available to the general public. For example:

<?php if (have_posts()): while (have_posts()): the_post() ?>
    <?php if (function_exists(member_access_is_private)
        && member_access_is_private(get_the_ID())): ?>
    <div class="members-only">
    <?endif;?>
        <h1 class="post_title"></h1>
        <?php the_content(); ?>
    <?php if (function_exists(member_access_is_private)
        && member_access_is_private(get_the_ID())): ?>
    </div>
    <?endif;?>
<?php endwhile; endif; ?>

You should also keep in mind that calls to the_content() from within the loop may instead function as though the_excerpt() was called if the administrator has configured the plugin to show excerpts for nonpublic content.