wp user generate
Overview
Quickly create multiple test users in bulk — useful for staging environments, load testing, and UI development. Generates random usernames and emails automatically.
What It Does
wp user generate creates N test user accounts with randomized login slugs and email addresses. You control the count, role, and optional formatting.
Syntax
wp user generate [OPTIONS]
Arguments & Options
| Flag | Default | Description |
|---|---|---|
--count=N | 100 | Number of users to create |
--role=ROLE | default site role | WordPress role for all generated users |
--format=FORMAT | progress | Output format: progress, ids, count |
Basic Usage
Generate 10 subscribers
wp user generate --count=10 --role=subscriber
Output:
Generating users 100% [====================================] 0:00 / 0:00
Generate 25 editors quietly (IDs only)
wp user generate --count=25 --role=editor --format=ids
Generate 5 test admins
wp user generate --count=5 --role=administrator
Real-World Scenarios
Scenario 1: Staging environment with mixed roles
wp user generate --count=50 --role=subscriber
wp user generate --count=10 --role=author
wp user generate --count=5 --role=editor
echo "Test users created:"
for role in subscriber author editor; do
COUNT=$(wp user list --role="$role" --field=ID | wc -l)
echo " $role: $COUNT"
done
Scenario 2: Generate users and immediately assign meta
#!/bin/bash
IDS=$(wp user generate --count=20 --role=subscriber --format=ids)
for id in $IDS; do
wp user meta add "$id" "department" "testing"
done
Scenario 3: Cleanup generated users after testing
# Delete all subscribers (test users)
for id in $(wp user list --role=subscriber --field=ID); do
wp user delete "$id" --yes
done
Best Practices
- Only use on staging/dev — never run bulk user generation on production.
- Track generated user IDs with
--format=idsif you need to clean them up later. - Use
--role=subscriberas default; only generate admin/editor users when testing role-specific features.
Quick Reference
wp user generate --count=10 --role=subscriber
wp user generate --count=5 --role=editor --format=ids
wp user generate --count=100 # Default role
Next Steps
wp user list— verify generated users.wp user delete— bulk remove test users after testing.wp user meta— add meta to generated users.