WP Approve User

Plugin Banner

WP Approve User

by Konstantin Obenland

Download
Description

This plugin lets you approve or reject user registrations.
While a user is unapproved, they can’t access the WordPress Admin.

On activation of the plugin, all existing users will automatically be flagged Approved. The site admin will never experience restricted access and does not need approval.
This plugin is probably not compatible with WooCommerce.

Translations

I will be more than happy to update the plugin with new locales, as soon as I receive them!
Currently available in:

  • Dutch
  • Deutsch
  • English
  • Hebrew
  • Persian
  • Russian

Plugin Hooks

Actions

wpau_approve (int)

User-ID of approved user.

wpau_unapprove (int)

User-ID of unapproved user.

Filter

wpau_default_options (array)

Default options.

wpau_update_message_handler (string)

Allows to return custom update messages.

wpau_message_placeholders (array)

Filters the placeholders in approve/unapprove emails.

  1. Download WP Approve User.
  2. Unzip the folder into the /wp-content/plugins/ directory.
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.
  4. Make sure user registrations is enabled in ‘General Settings’.
  1. Error message when user is not yet approved.

    Error message when user is not yet approved.

  2. Row action when user is approved

    Row action when user is approved

  3. Row action when user is not yet approved

    Row action when user is not yet approved

  4. Count notification and row highlight for unapproved users

    Count notification and row highlight for unapproved users

Once a new user has been approved, will the plugin send out an email to inform them they have been approved?

Yes! Under Settings > Approve User, you can choose when to send an email and customize the email content to your needs!

Great plugin!

By clayray on July 4, 2025

For a free plugin, this is quite powerful. Would be nice to be able to add the users full name (i.e. first and last name) in the approval email (rather than just the username), but the ability to edit the email the template (or turn off emails) puts it head and shoulders above the competition.

Nice, simple and focused

By FolioVision on February 22, 2024

We are looking for a way to minimise the amount of emails which we send out to dead addresses (often Gmail) via fake bbPress signups to our forum. The first step is user approval.

Konstantin's plugin is simple and focused, with straightforward settings in a settings panel. There's no top level left column item (frankly any plugin which wants to put its settings in the main left window should require approval from the plugin moderation team, if in the plugin directory, the left top-level menu is now hopelessly cluttered on most WordPress sites). The main interface are simple text additions to the existing user table Approve | Unapprove.

Frankly user approval should be built into WordPress. But until it is, thank heavens for simple solutions. No adware, no pro version, no bloatware frills, native interface.

I like the idea of a previous reviewer to allow unapproved users to be kept in the database to prevent additional signups with the same address. We'd also like an improved workflow where no email goes out to users until admin approval, at which point the signup email would arrive.

What would happen to a new user is that s/he would be auto-logged in at the time of signup with very limited privileges until approved or unapproved but no email would be sent without approval. This would allow simple comments to be left on a weblog post or bbPress without sending out emails to dead addresses (and damaging sender reputation).

We can add these features fairly easily ourselves, but it would be great to see them in the core functionality of WP Approve User.

Thank you Konstantin for your hard work on WP Approve User and for making it free.

does what it says

By jamaicahomes on February 10, 2024

this plugin does what it says simple. glad i found it. one thing would make this plugin so so so much better. The possibility to add a list of email domains for auto approval. For instance i want everyone from a particular company to register and bypass the plugin. That would be golden. If possible i would be happy to hack the plugin and incoperate if you like. But as it is your plugin i would prefer you did it.

This plugin is so great!

By roreymp on February 1, 2024

I like this plugin so useful and easy to user, Good job to the developer on this plugin

Works great!

By kl79sz on November 4, 2022

I'm very happy with this plugin. It's simple and it works as expected.

Excellent plugin

By kiwi3685 on November 4, 2022

This is an invaluable plugin in the battle to keep spam registrations under control. Plus great service from @konstantin

It's simple and it works 100%

By eduacute on February 22, 2021

Using it with MemberPress. There is not much to configure but it works like a charm, it'simple, no HTML, just plain text but it's better than the New User Approve plugin which exposes the iThemes Hide Back End URL to users when their user account is approved.

Does Not Scale

By Daniel Hendricks (hendridm) on August 7, 2020

This site has over 360k registered users. Upon activating the plugin, it timed out as it tried to add >720k user meta keys. Not sure why it doesn't just meta select only users who do not have the fields (which would have still timed out, but at least it would continue on the next time Activate was attempted). I "fixed" that by adding them with my own script and then uncommented the activation hook. It appeared to be working fine after that, but then I discovered (via Query Monitor) that it was adding over 6 seconds (with Redis caching!) to every admin page load because the constructor pulls a list of all unapproved users. It would also have been nice if there was a checkbox like "Delete plugin data when uninstalled" or whatever so I didn't have to re-add over 720k meta fields to my dev box after deleting the plugin to move it as a submodule (obviously, I should have just deleted the directory, but I didn't look at the code and realize that it was going to asplode everything on my dev instance). I get it - 360k+ users is a lot, but for plugins (plural: the others failed too, for the same reason) that assume a site is soliciting registrations from anon, you'd expect them to handle a lot of registrations. If you don't have many users/registrations, you don't really need a plugin to manage them, right? I'm assuming that it loads a list of every unapproved user on every admin page load solely for the unapproved user count badge on the admin menu (I didn't look - I stopped trying to hack it and just decided to tell the users to manage it manually, which was unpopular). +3 stars because it's free and doesn't use Freemius. EDIT - Also, you can change the instantiation because I don't think it needs to run during cron or Ajax requests: if( !wp_doing_cron() && !wp_doing_ajax() ) new Obenland_Wp_Approve_User(); You can probably check for is_admin() before running code in various places, too.

Fantastic !!!!

By yadad on April 15, 2020

I'm currently running WordPress 5.4 and needed this for bbPress. I'm also using GeneratePress Version: 2.4.2.1 and even though it says hasn't been tested with this theme it works great. Installed with no issues and tested perfectly. It does exactly what it says and I couldn't be happier. Thank you so much Konstantin Obenland. Great !!! Plugin 4-14-20

Awesome plugin

By Mahadi Hasan (mhofficial1) on April 3, 2020

The "WP Approve User" helped me a lot. Thanks 🙂

11

  • Replaced image files with inline SVGs.
  • Fixes a race condition with registering sidebar boxes between plugins I authored.

10

  • Fixes a bug with the activation hook creating class instances before it should. See https://wordpress.org/support/topic/fatal-error-4281/

9

  • No longer checks approval status on log in for super admins in multisite installations. See https://wordpress.org/support/topic/super-admin-not-approved-on-multisite/
  • Fixes an incompatibility with WordPress 6.1 where the plugin would set up too early. See https://wordpress.org/support/topic/fatal-error-4281/

8

  • Does no longer overwrite approval status after plugin re-activation. Props @zadro, @idearius, @howdy_mcgee.

7

  • Added a filter to manipulate placeholders and their replacement values. See https://wordpress.org/support/topic/customize-email-templates-2/
  • Only sends out rejection email if it’s a new registration and the user is not approved. See https://wordpress.org/support/topic/deleting-user-generates-user-not-approved-email-possible-to-disable-feature/
  • Various multisite improvements and bug fixes. The unapproved filter works now! See https://wordpress.org/support/topic/multisite-issues-with-user-lists-and-unapproved-filter/

6

  • Improved approval flow, waiting with password email until after approval.
  • Fixed a bug where the approval email had some stray whitespace surrounding it.
  • Tested for WordPress 5.2.

5

  • Fixed a bug where user registration couldn’t be activated with the plugin active.

4

  • For easier on-boarding, it now displays a notice if user registration is disabled.

3

  • Maintenance release.
  • Better multisite compatibility.
  • Now maintains role selection on batch modification.
  • Added some more sanitization.
  • Updated code to adhere to WordPress Coding Standards.
  • Tested for WordPress 5.0.

2.3

  • Added French translation. Props Clovis Darrigan.
  • Added Arabic translation. Props Mehdi Bounya.

2.2.3

  • Fixes a bug where administrators where locked out of their site if user registration was enabled after the plugin was.

2.2.2

  • Adds backwards compatibility for WordPress versions pre-3.5 for the user list filter.
  • Removes unused development versions of scripts and styles.

2.2.1

  • Updated utility class.

2.2.0

  • Added a way to filter for unapproved users in the admin user list.
  • Fixed a bug where currently active users would not be flagged as approved on activation if user registration was disabled.
  • Added Dutch translation. Props Jos Wolbers.
  • Minor coding convention updates to be closer to core coding guidelines.
  • Tested with the beta version of 3.6.

2.1.1

  • Fixed a bug, where new settings were not saved.

2.1.0

  • Added Russian translation. Props Mick Levin.
  • Email bodies can now be edited even when email notification is not activated.
  • Fixed a bug, where admin notices by the Settings API were not displayed.

2.0.0

  • Added the ability to send an email on approval/unapproval. Email text can be customized.
  • Optimized alteration of Users menu item. Props Rd.
  • Added Hebrew translation. Props asafche.

1.1.1

  • Fixed a bug, where the call to action bubble didn’t account for newly registered.

1.1.0

  • Added bulk action for approving and unapproving users.
  • Added notification of unapproved users in admin menu item (WordPress 3.2+).
  • Added highlight of unapproved users.
  • Added action hooks on (un-)approval. See hook reference.
  • Users created by an Administrator will automatically be approved.
  • Updated utilities class.
  • Now an instance of the Obenland_Wp_Approve_User object ist stored in a static property to make deregistration of hooks easier.

1.0

  • Initial Release.
Back to top