Skip to main content

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

FlagDefaultDescription
--count=N100Number of users to create
--role=ROLEdefault site roleWordPress role for all generated users
--format=FORMATprogressOutput 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

  1. Only use on staging/dev — never run bulk user generation on production.
  2. Track generated user IDs with --format=ids if you need to clean them up later.
  3. Use --role=subscriber as 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