I activated the plugin and it didn’t block my post…
Make sure you log out of the admin before you test. If you are logged in as admin, you will be able to click through to view the post. (To know if you are logged in, we suggest using the WP-Members login widget, included in the installation.)
Also, for posts, be sure you are using either the `<!–more–>` tag or the plugin’s auto-excerpt feature (found in the plugin’s main options). The blocking only takes place on single posts. Without this tag or a set excerpt, a full post will display on your home page or on an archive/category page.
Check your settings for both posts and pages. The default installation is to block posts by default but not pages. If you’ve installed the plugin and intend to block pages, you will need to set that in the plugin’s options.
The plugin does not block archives, search results, category lists, or other summaries from view. Instead, these templates display a list of post excerpts truncated at the `<!–more–>` tag or by the auto-excerpt function. If you want to block these completely from view, you will need to set up a redirect away from those templates or customize the way your template displays the Loop based on user login state. This also is true for creating a “blog page.” Even if you have the plugin set to block pages, WordPress still treats this as a summary of posts and not a “page.”
For a broader discussion of this topic, please see this post.
Emails are not being sent/received, what is wrong?
WP-Members uses the native WP function wp_mail to send all emails. This is a native WordPress function. It is highly unlikely that emails are not being generated. But being sent and/or received is quite different than being generated. Once the plugin generates an email, wp_mail will attempt to send it.
A lot of things can happen after that to cause problems. If you are on shared hosting, you are likely at the mercy of an email queue with the several hundred other accounts also on your shared server. There will be absolutely no way for you to track an email once it is generated and sent to the queue.
Subscribers to the support site have access to the Send Test Emails extension for the plugin which will allow you to send tests of each of the plugin’s emails. Get this extension from the downloads area.
If you are not a technical user, it is recommended that you set up your email for SMTP. This will give you a much more robust process because you will be sending email through an authenticated email server. You will be able to track emails and they will have a higher probability of being sent/received.
If you cannot use SMTP, you will need to understand something about how emails sent via web scripts work. Unless you are running your own hardware, your host will likely require that you be sending email from an actual email address. WordPress will by default send from firstname.lastname@example.org. Your host may not allow this.
Even if your host allows that, the receiver may do a reverse lookup on the address. It may choose to reject it even before it gets to any spam filter on your specific account.
For best results, send from an actual address. WP-Members has a setting for you to select the “from” address and “from name” in the email settings. Use an actual address using a domain that matches your site domain.
Similar to the above, some hosts and receivers require that an email have proper headers. WordPress does not apply “from” addresses in the email header by default. WP-Members has a filter for the emails that it sends so you can add a “from” address to the header.
For more information on wp_mail(), please see this post on my personal blog.
I’m really only using this to add user fields and have the login integrated into the site. I would rather that posts be unblocked by default. How do I do that?
WP-Members gives you the ability to change the settings for how the plugin blocks content. The default setting is to block posts and allow individual posts to be set to unblock at the post level. You can change this setting so that all posts will be viewable by default. If you then have a post that you want blocked to registered members only, you can set the post to block at the post level.
How do I block (or unblock) an individual post (or page)?
If you are using the default settings (as mentioned above), and you have a post that you want to be unblocked (viewable by any user, not just logged in users), on the Edit Post page there will be a meta box in the upper right hand corner “Page/Post Restriction”. Check the box to block the post/page and update to save the setting.
For more information, see Override the Default Setting for Posts in the Users Guide.
For information on removing/changing old post meta “block” and “unblock”, see this post.
How to I change the registration fields that are used and which ones are required?
These settings can be managed on the WP-Members admin panel found under Settings > WP-Members
For more information, see Add Fields in the Users Guide.
Where do I find the users registration information?
WP-Members was designed to fully integrate with WordPress to allow maximum compatibility not only with WP, but also with other plugins that rely on WP user registration information, such as discussion forums, email newsletters, etc. The user information is in the main WP users page under Users > Users, then click “Edit” under an individual user. Any non-native WP fields (WP-Members custom fields) are added to the bottom of this page and are fully editable. (Note: if you don’t have any registered users yet, i.e. a clean install, these fields will not display until there is data in them.)
Additionally, user information can be added to the Users > All Users panel by checking the box in the “Users Screen” column in the plugin’s Fields tab.
Some user data can also be edited in the Users > All Users panel. There is a screen option added that lists users who have not yet been exported, as well as bulk actions added to the Bulk Actions menu for exporting and activating (if moderated registration is enabled). A full list of users can be exported using the “Export All Users” button at the bottom of this screen.
For more information, see Managing Users in the Users Guide
Can I change the email address that messages are mailed from?
Most people are unaware that WP-Members uses the native function wp_mail, and that wp_mail sends messages from email@example.com. But it is easy to override this.
To change the email address that the WP-Members emails come from, you can set this address in the plugin’s email settings. For more information, see Set a Custom Email Address in the Users Guide.
To change the email address that all WordPress emails come from, you can do it with a couple of filters added to your functions.php file or you can do it with a plugin.
Can I customize the way the login and registration forms look?
Yes! You can specify a custom style sheet for the default login and registration forms. These forms are tabless and customizable using CSS.
CSS can be applied to the legacy forms, but must be applied via an outside stylesheet (such as your theme), and since the forms are table-based, the customization options are limited.
The login and registration fields are out of alignment. How can I fix that?
If you use one of the side-by-side layout stylesheets, those use a float property for the label and the input. These two elements must be the exact same height or they will be out of alignment. The stylesheets when tested with the specific WP default theme indicated and the default WP-Members form fields will align. However, in another theme and/or with additional fields, that may or may not be the case. If the elements do not align when used in another theme this is the result of inherited properties from additional styles in the theme that need to be accounted for.
There are several simple and easy solutions. First, the fast fix is to use one of the “no float” stylesheets included in the plugin download.
The best solution is to set up a custom stylesheet. This is something you should do anyway so that your forms are consistent with the look of your theme. Please see the documentation on customizing the stylesheet.
There is a freely available post here that describes specifically how this comes about and how you can make specific adjustments to it.
Can I customize the plugin?
You should never make changes to the plugin’s core files. The plugin has an extensible framework, so the proper way to approach customization is through the use of action and filter hooks. There are lots of examples in the premium support code snippet library of customized functions and features that utilize the framework of filter and action hooks. There are also various user API functions and shortcodes you can use to customize your output.
I only want the login form to show in place of protected content and have a separate registration page. How can I do that?
If you turn off the registration in the plugin options, the registration form will not show on protected content posts/pages or the members area. Specify a registration page following the plugin instructions and set this page’s location in the plugin settings.
I need customized registration fields. How can I add/subtract fields?
The registration fields used by the plugin are stored in an array in the WP options table. New text, text area, and checkbox fields can be added in the Fields admin panel in the plugin’s settings menu. Alternatively, a description of how to customize the fields programmatically is available in this post.
Does the plugin have an upload feature so users can add an avatar?
See this post on how to use the wpmem_sidebar_status filter to add a gravatar to the sidebar widget. (For those of you that are not yet premium members, this article is a free sample of the great code snippets and tutorials available to members.) And for premium members, this post shows you how to add an avatar to the Members Area profile page.
How do I get the login widget to display a link to register and/or forgot password?
If you have set up a members-area and register page using the shortcodes for these pages, you can enter the URL for each in the plugin’s options panel. The register page URL will cause a register link to be included in all login forms. The members-area page URL will cause a forgot password link to be included.
User passwords are invalid? What is wrong?
If the credentials work for the WP login, the credentials are valid. Often then the issue is one of the following:
- If the plugin is configured for moderated registration, there are some possible configuration issues.
- If there is no password field included as part of the registration form, a random password is emailed when the user is activated. Any other password will be invalid.
- If there is a password field included as part of the registration form, the password is the password from registration.
- If you are using the Email as Username extension, any user that is loaded from prior to the extension being activated will not have an email address as their username. To change this, the user record must be updated directly in the database as there is no option to change usernames. Until this is done, the account (including admins) the login credentials are the username and password, not email and password.
- If you are using another plugin that adds anything to the login process, such as SI CAPTCHA, you will need to either implement a workaround or disable the other plugin. This includes reCAPTCHA and Jetpack Protect. If your wp-login.php contains anything beyond username and password, this is likely your issue.
How do I remove old block/unblock Custom Fields (Post Meta)?
The “Admin bar” still shows and directs to the WP admin
The “admin bar” is actually more correctly called the WordPress Toolbar. WP-Members does not arbitrarily remove the toolbar because in some cases you may want it (it does get used by various plugins). This actually has nothing to do with giving users the ability to access administrative areas of WordPress. The dashboard area for a subscriber is actually WP’s default area of managing user profiles – yes, even for subscribers. Certainly there are reasons for changing these settings, but none of them really have anything to do with security.
If a particular string is not translating, the most likely two possibilities are that either (a) the string is not translated in the .po file or (b) if the string is translated, it is marked as fuzzy. Any translations that are marked as fuzzy are not included in the compiled .mo file.
WP-Members is now part of the wordpress.org polyglots project. This means that when a language pack is available for the language you run WordPress in, it will download automatically from wordpress.org. However, this only happens if the language pack is at 95% or higher. Translations with complete language packs are listed here.
If you want to participate in translation as a contributor, you are free to do so. If you have an interest in being identified as an editor, feel free to contact me (You do not have to be identified as an editor or contact me to contribute to translations – only contact me if you have an interest in being an editor). Editors can approve suggested translations. Having an identified editor for a specific language moves the process to completion faster and benefits all users. However, you need to be available on the WordPress Slack channel and you need to be willing to stay up to date. (It doesn’t mean you have to translate everything yourself – just be available to approve translation suggestions and check-in regularly.) There are several languages that currently have no designated editor.
Language packs that are included in the plugin downloaded are no longer supported. They continue to be included to fill in the gap until language packs from the polyglots project are complete. I would recommend that you use the polyglots language packs as these will be the most up to date. While you can use the .po files in the download to update .mo files, you are better off using language packs from the polyglots project as those will have the most recent strings included. Even if packs are not complete, you can still download them manually for use in your install.