If you’re programming user management in WordPress there are a number of functions we have the convenience of using on the front-end. If you want to use the same functions in the back-end, though, you’ll need to include some “dependencies.”

Programming User Management in WordPress

For example, let’s say you want to use something like:

You’ll find then incorporating them onto the front-end of the site is easy. But if you want to use them in a plugin in, say, something like this:

wp_create_user(
    'acme-demo-user',
    wp_generate_password(12, true, false),
    'acme-demo-user@acme.com'
);

Of if you want to delete a user with a given email:

wp_delete_user(
    (get_user_by('email', 'acme-demo-user@acme.com'))->ID
);

Then you’ll get an error in WordPress. It’s a simple fix, though. At the top of your file – regardless of if its procedural code or a class – add the following lines:

require_once(ABSPATH . 'wp-admin/includes/user.php');
require_once(ABSPATH . 'wp-includes/pluggable.php');

This will give you access to everything you need for the above functions.


Note: If you’re only going to use one or some of the above functions, you may not need both of those files. Refer to the linked Developer Resources for more information.