WP Manifestindependent plugin directory
manifest / developer / user-factory

User Factory

Generate WordPress users for testing purposes. Creates realistic fake users with configurable roles, metadata, and bulk generation support.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jesgs-interactive/user-factory/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

User Factory — WordPress Plugin

A lightweight developer plugin for generating realistic fake WordPress users during testing.

Features

  • Bulk generation — create 1–200 users per batch
  • Role selection — any registered WordPress role
  • Username prefix — namespace your test accounts (e.g. test_alice_smith_1234)
  • Password options — fixed password or a strong random password per user
  • Tagged users — every generated user is tagged with _user_factory_generated meta so they can be found and cleaned up without touching real accounts
  • One-click cleanup — delete all factory users from the Danger Zone panel
  • Uninstall hook — optionally purge generated users on plugin removal

Installation

  1. Upload the user-factory/ folder to wp-content/plugins/
  2. Activate via Plugins → Installed Plugins
  3. Navigate to Users → User Factory

Usage

Field Description
Count How many users to create (1–200)
Role WordPress role assigned to each user
Username prefix Optional string prepended to every username
Password password (easy for manual testing) or a random secure password

Deleting test users

Use the Danger Zone panel on the plugin page to remove every user tagged as factory-generated. This does not affect real users.

Programmatic use

You can call the factory class directly in your own code:

$factory = new User_Factory();

$result = $factory->generate([
    'count'     => 10,
    'role'      => 'editor',
    'prefix'    => 'staging',
    'random_pw' => true,
]);

// $result = [
//   'created' => 10,
//   'skipped' => 0,
//   'errors'  => [],
//   'users'   => [ ['id', 'login', 'email', 'name', 'role', 'password', 'edit_url'], … ]
// ]

Finding generated users in code

$test_users = get_users([
    'meta_key'   => '_user_factory_generated',
    'meta_value' => true,
]);

File Structure

user-factory/
├── user-factory.php               # Plugin bootstrap
├── includes/
│   ├── class-user-factory.php     # Core generation + deletion logic
│   ├── class-user-factory-admin.php  # Admin menu + page UI
│   └── class-user-factory-ajax.php   # AJAX action handlers
└── assets/
    ├── admin.css                  # Admin page styles
    └── admin.js                   # Admin page JavaScript

Security

  • All AJAX endpoints require a valid nonce (user_factory_nonce)
  • Capability check: create_users required for all actions
  • Count is capped server-side at 200 per batch
  • All user input is sanitized before use

License

GPL-2.0-or-later