WordPressを運営していると、ユーザーをまとめて登録したい場面があります。
たとえば…
- 会員サイトの立ち上げで、既存顧客をまとめて追加したい
- 社内ポータルで社員アカウントを一斉発行したい
- 大規模なイベントサイトで参加者用のアカウントを作りたい
管理画面から一人ずつ手入力するのは現実的ではありません。
私も以前、数百人分のアカウントを登録する必要があり、「これは手作業じゃ無理だ」と感じました。
そんなときに役立ったのが wp-cli + CSV を使った一括登録です。
基本コマンド
wp-cliにはユーザーを追加する wp user create コマンドがあります。
wp user create USERNAME EMAIL --role=ROLE --user_pass=PASSWORD
USERNAME… ログインIDEMAIL… メールアドレス--role… 権限(subscriber, editor, administrator など)--user_pass… パスワードを指定可能(省略すると自動生成)
これを1件ずつ実行すれば確かに登録できます。
ですが件数が多いと大変なので、CSVと組み合わせて自動化します。
CSVファイルを準備する
まずは以下のような形式でCSVを作ります。
username,email,role,password
taro,taro@example.com,subscriber,pass1234
hanako,hanako@example.com,editor,pass5678
jiro,jiro@example.com,author,pass9999
- 1行目はヘッダー(username, email, role, password)
- 2行目以降に登録したいユーザー情報を記入
ExcelやGoogleスプレッドシートで作ってUTF-8形式で保存すればOKです。
スクリプトで一括登録する
次にシェルスクリプトを用意してCSVを読み込み、wp user create を流します。
#!/bin/bash
# 1行目(ヘッダー)を除外
tail -n +2 users.csv | while IFS=, read -r USERNAME EMAIL ROLE PASSWORD
do
echo "登録中: $USERNAME ($EMAIL) ロール=$ROLE"
wp user create "$USERNAME" "$EMAIL" --role="$ROLE" --user_pass="$PASSWORD"
done
実行手順:
chmod +x create-users.sh
./create-users.sh
これでCSVに記載したユーザーが一括登録されます。
実際に使ってみて感じたこと
大量ユーザーの登録は「手作業だと数時間コース」ですが、この方法なら数分で完了します。
特にメールアドレスとパスワードをまとめて管理できるので、あとから配布するのもスムーズでした。
ただし注意点もあります。
- パスワードは平文でCSVに残る → 運用後はファイルを削除するか厳重管理
- 同じメールアドレスは登録できない → ダブりがあるとエラーになる
- 誤登録を防ぐためにテスト環境で先に試すのが安心
私は一度「ロール名をtypo」して登録に失敗したことがあります…。
CSVを流す前に数件テストするのがおすすめです。
まとめ
wp user createでユーザーを追加できる- CSVにユーザー情報をまとめて、シェルスクリプトでループ処理
- 大量登録の作業時間を大幅に短縮できる
- 運用時はパスワードや個人情報の扱いに注意
WordPressのユーザー管理を効率化したいなら、ぜひこの方法を取り入れてみてください。
大量のユーザー登録があっという間に完了して、本当に楽になりますよ。

コメント