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.

by Your Name · github.com/jesgs-interactive/user-factory · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/jesgs-interactive/user-factory/archive/refs/heads/main.zip

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