Skip to content

jesgs-interactive/user-factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors