From f273a2715dd2495e0bda9aded39bcc6edea46c2a Mon Sep 17 00:00:00 2001 From: Jason Raveling Date: Tue, 4 Nov 2025 15:31:08 -0600 Subject: [PATCH 1/2] Renames file for logical sorting --- delete-user.sh => user-delete.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename delete-user.sh => user-delete.sh (100%) diff --git a/delete-user.sh b/user-delete.sh similarity index 100% rename from delete-user.sh rename to user-delete.sh From 2169bc5f176c10e75105b2119a5ff36200f492c0 Mon Sep 17 00:00:00 2001 From: Jason Raveling Date: Tue, 4 Nov 2025 16:01:30 -0600 Subject: [PATCH 2/2] Adds script for listing users of each site --- source/wp-cli-overrides.sh | 2 +- user-list.sh | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100755 user-list.sh diff --git a/source/wp-cli-overrides.sh b/source/wp-cli-overrides.sh index 39f2476..757eeca 100644 --- a/source/wp-cli-overrides.sh +++ b/source/wp-cli-overrides.sh @@ -14,5 +14,5 @@ wp_skip_all () { # # It expects $site_url to be set. This is useful in a for loop of every site. wp_on_site () { - wp --skip-themes --path="${config[wp_path]}" --url="${site_url}" "$@" + wp --skip-themes --skip-plugins --path="${config[wp_path]}" --url="${site_url}" "$@" } diff --git a/user-list.sh b/user-list.sh new file mode 100755 index 0000000..5b3c62e --- /dev/null +++ b/user-list.sh @@ -0,0 +1,21 @@ +#!/bin/env bash + +# Lists every user and their roles on every site. + +source 'source/includes.sh'; + +fields_to_display='user_login,user_email,roles'; + +log_file='user-list.txt'; + +echo '#########################################################' | tee "$log_file"; +echo 'Users by WordPress site' | tee -a "$log_file"; +echo '#########################################################' | tee -a "$log_file"; + +for site_url in $(wp_skip_all site list --field="url" --archived=0 --deleted=0 --spam=0); do + + echo '-------------------------------------------------' | tee -a "$log_file"; + echo "Site ${site_url}" | tee -a "$log_file"; + wp_on_site user list --fields="${fields_to_display}" | tee -a "$log_file"; + +done;