Utiliser wp-cli (1) Si je lancewp user list
je reçois une liste des utilisateurs (2 administrateurs dans mon cas) au plus haut niveau du multisite(2).
J'ai 25 sites avec différents utilisateurs. Certains utilisateurs occupent des sites différents en tant que rôles différents. Lorsque j'utilise l'indicateur de réseauwp user list --network
j'obtiens le même rapport de style, moins la colonne roles ; mais le rapport couvre le réseau multisite de sites.
Mon objectif est de répertorier tous les administrateurs de chaque site. C'est là que je suis coincé. Apparemment, l'ajout du drapeau supplémentaire--role=administrator
n'ajoute rien à la conversation. Il exécutera le même rapport de réseau de tous les utilisateurs enregistrés.
Existe-t-il une combinaison de drapeaux répertoriant les utilisateurs avec leurs rôles?
Références:
Remarque: il serait également utile de les diviser par site.
Liste tous les administrateurs de chaque site
Note latérale: Les diviser par site serait également pratique.
Faisons ça ici:
Nous pouvons lister les url de chaque site avec:
wp site list --field=url
Nous pouvons lister tous les administrateurs d'un site donné avec:
wp user list --role=administrator --url=https://example.tld/site1
Ces commandes peuvent être combinées avec, par exemple, xargs
comme suggéré sur le wp-cli site :
wp site list --field=url \
| xargs -I % wp user list --role=administrator --url=%
Nous pourrions également vouloir utiliser | tail --lines=+2
pour ignorer l'en-tête url de la première commande, comme expliqué dans le manuel final, et des réponses telles que this .
Merci à @grappler d'avoir suggéré --field="url"
au lieu de --fields="url"
avec | tail --lines=+2
pour ignorer la ligne d'en-tête.
Si nous voulons afficher le url avant chaque tableau:
for url in $( wp site list --field="url" ); \
do \
echo $url; \
wp user list --role=administrator --url=$url; \
done;