Title: WP Approve User
Author: Konstantin Obenland
Published: <strong>January 30, 2012</strong>
Last modified: April 17, 2026

---

Search plugins

![](https://ps.w.org/wp-approve-user/assets/banner-772x250.png?rev=3013178)

![](https://ps.w.org/wp-approve-user/assets/icon-256x256.png?rev=3013178)

# WP Approve User

 By [Konstantin Obenland](https://profiles.wordpress.org/obenland/)

[Download](https://downloads.wordpress.org/plugin/wp-approve-user.12.zip)

[Live Preview](https://tzm.wordpress.org/plugins/wp-approve-user/?preview=1)

 * [Details](https://tzm.wordpress.org/plugins/wp-approve-user/#description)
 * [Reviews](https://tzm.wordpress.org/plugins/wp-approve-user/#reviews)
 *  [Installation](https://tzm.wordpress.org/plugins/wp-approve-user/#installation)
 * [Development](https://tzm.wordpress.org/plugins/wp-approve-user/#developers)

 [Support](https://wordpress.org/support/plugin/wp-approve-user/)

## 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.

## Screenshots

 * [[
 * Error message when user is not yet approved.
 * [[
 * Row action when user is approved
 * [[
 * Row action when user is not yet approved
 * [[
 * Count notification and row highlight for unapproved users

## Installation

 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’.

## FAQ

### 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!

## Reviews

![](https://secure.gravatar.com/avatar/de9b134655ff14842a619ae0b9ecd62c645444b1fe9ee2835ff9d87f9c7aab13?
s=60&d=retro&r=g)

### 󠀁[Simple, effective plugin](https://wordpress.org/support/topic/simple-effective-plugin-16/)󠁿

 [shamrock82](https://profiles.wordpress.org/shamrock82/) April 15, 2026

Works great! An integration with MemberPress would be a great enhancement or add-
on, so that I could enforce approvals for users purchasing specific memberships (
even if they are a WordPress User already), but not others.

![](https://secure.gravatar.com/avatar/75ff3860cd59a74d0ba3933a113ea641aae7908fd77f82b1a7591118394e2902?
s=60&d=retro&r=g)

### 󠀁[Great plugin!](https://wordpress.org/support/topic/great-plugin-40639/)󠁿

 [clayray](https://profiles.wordpress.org/clayray/) 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.

![](https://secure.gravatar.com/avatar/f847340cac151352b0bc321c16df9a032472b24bd496730d22dbecdaa1dbeec8?
s=60&d=retro&r=g)

### 󠀁[Nice, simple and focused](https://wordpress.org/support/topic/nice-simple-and-focused/)󠁿

 [FolioVision](https://profiles.wordpress.org/foliovision/) 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.

![](https://secure.gravatar.com/avatar/6dd0301c1fd6aba462bc19794b7484682af2ea2d47bb4f9a34ab690f5a123fbe?
s=60&d=retro&r=g)

### 󠀁[does what it says](https://wordpress.org/support/topic/does-what-it-says-1172/)󠁿

 [jamaicahomes](https://profiles.wordpress.org/jamaicahomes/) February 10, 2024 
2 replies

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.

![](https://secure.gravatar.com/avatar/6475cb345ec6ba19e00036cb47f80777b19ee5265a0d7c91da0131429c35bb21?
s=60&d=retro&r=g)

### 󠀁[This plugin is so great!](https://wordpress.org/support/topic/this-plugin-is-so-great-2/)󠁿

 [roreymp](https://profiles.wordpress.org/roreymp/) February 1, 2024 2 replies

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

![](https://secure.gravatar.com/avatar/fe8e9b63bda0bfcb32f3f9cae83001135912f8f999a0cc5938bdf10e6f6be062?
s=60&d=retro&r=g)

### 󠀁[Works great!](https://wordpress.org/support/topic/works-great-8522/)󠁿

 [kl79sz](https://profiles.wordpress.org/kl79sz/) November 4, 2022

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

 [ Read all 42 reviews ](https://wordpress.org/support/plugin/wp-approve-user/reviews/)

## Contributors & Developers

“WP Approve User” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Konstantin Obenland ](https://profiles.wordpress.org/obenland/)

“WP Approve User” has been translated into 8 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/wp-approve-user/contributors)
for their contributions.

[Translate “WP Approve User” into your language.](https://translate.wordpress.org/projects/wp-plugins/wp-approve-user)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wp-approve-user/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/wp-approve-user/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wp-approve-user/)
by [RSS](https://plugins.trac.wordpress.org/log/wp-approve-user/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 12

 * Bumped minimum required WordPress version to 4.7.
 * Requires PHP 7.4 or later.
 * Switches to a three-state approval system: approved, unapproved, and pending.
 * When a user is unapproved, they now get immediately logged out from all active
   sessions.
 * Uses a cron job to auto-approve more than 100 users asynchronously after plugin
   activation.
 * Adds a `RESETLINK` email placeholder that sends users a one-time set/reset-password
   URL. Props @helgatheviking.
 * Pending count (not unapproved count) now drives the admin menu update bubble.
 * After approving or unapproving the last user in a filtered view, the redirect
   now lands on All Users instead of an empty list.
 * Migrates legacy boolean approval meta on upgrade: `true` becomes `approved` and`
   false` becomes `pending`.
 * Fixes an issue where the upgrade routine re-ran on every admin page load due 
   to a strict type comparison.
 * Corrected text domain on the “Pending” and “Unapproved” view labels so they can
   be translated.
 * Updated the login error and post-registration messages to be shorter and clearer.

#### 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.

## Meta

 *  Version **12**
 *  Last updated **2 days ago**
 *  Active installations **3,000+**
 *  WordPress version ** 4.7 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Dutch](https://nl.wordpress.org/plugins/wp-approve-user/), [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/wp-approve-user/),
   [English (US)](https://wordpress.org/plugins/wp-approve-user/), [German](https://de.wordpress.org/plugins/wp-approve-user/),
   [Italian](https://it.wordpress.org/plugins/wp-approve-user/), [Japanese](https://ja.wordpress.org/plugins/wp-approve-user/),
   [Polish](https://pl.wordpress.org/plugins/wp-approve-user/), [Russian](https://ru.wordpress.org/plugins/wp-approve-user/),
   and [Spanish (Chile)](https://cl.wordpress.org/plugins/wp-approve-user/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/wp-approve-user)
 * Tags
 * [admin](https://tzm.wordpress.org/plugins/tags/admin/)[approve](https://tzm.wordpress.org/plugins/tags/approve/)
   [login](https://tzm.wordpress.org/plugins/tags/login/)[user](https://tzm.wordpress.org/plugins/tags/user/)
   [user management](https://tzm.wordpress.org/plugins/tags/user-management/)
 *  [Advanced View](https://tzm.wordpress.org/plugins/wp-approve-user/advanced/)

## Ratings

 4.2 out of 5 stars.

 *  [  31 5-star reviews     ](https://wordpress.org/support/plugin/wp-approve-user/reviews/?filter=5)
 *  [  2 4-star reviews     ](https://wordpress.org/support/plugin/wp-approve-user/reviews/?filter=4)
 *  [  2 3-star reviews     ](https://wordpress.org/support/plugin/wp-approve-user/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/wp-approve-user/reviews/?filter=2)
 *  [  7 1-star reviews     ](https://wordpress.org/support/plugin/wp-approve-user/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wp-approve-user/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wp-approve-user/reviews/)

## Contributors

 *   [ Konstantin Obenland ](https://profiles.wordpress.org/obenland/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/wp-approve-user/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G65Y5CM3HVRNY)