web-dev-qa-db-ja.com

Wp-cliは、マルチサイトインストール内のすべてのサイトにわかるすべてのユーザーとその役割を表示できますか?

マルチサイトユーザーの一覧表示

wp-cli を使用する(1) wp user listを実行すると、マルチサイトのトップレベルでユーザーのリスト(私の場合は2人の管理者)が表示されます。(2)enter image description here 

マルチサイトサイトのユーザーを一覧表示する

私はさまざまなユーザーと25のサイトを持っています。一部のユーザーは、異なる役割として異なるサイトにいます。ネットワークフラグwp user list --networkを使用すると、 roles 列を除いた同じスタイルのレポートが表示されます。しかし、レポートはサイトのマルチサイトネットワークにまたがっています。 enter image description here 

マルチサイトサイトのユーザーとロールを一覧表示する

私の目標は、各サイトの管理者をすべてリストすることです。これは私が立ち往生しているところです。どうやら、追加のフラグ--role=administratorを追加しても会話には何も追加されません。それはすべての登録ユーザーの同じネットワークレポートを実行します。

役割と一緒にユーザーをリストするフラグの組み合わせはありますか?


参考文献:

  1. wp-cli.org
  2. codex.wordpress.org/Glossary#Multisite

補足:これらをサイトごとに分割することも便利です。

2
nic

各サイトの全管理者を一覧表示する

サイドノート:サイトごとにこれらを分割するのも便利でしょう。

ここでやろう:

各サイトのurlを以下のようにリストすることができます。

wp site list --field=url

特定のサイトのすべてのadministratorを以下のリストで表示できます。

wp user list --role=administrator --url=https://example.tld/site1

これらのコマンドは、例えばと組み合わせることができます。 wp-cli site で提案されているxargs

wp site list --field=url  \
  | xargs -I % wp user list --role=administrator --url=%

末尾のマニュアルで説明されているように最初のコマンドのurlヘッダーをスキップするために| tail --lines=+2を使用し、 this - のように回答することもできます。

ヘッダー行をスキップするために--field="url"--fields="url"の代わりに| tail --lines=+2を提案するための@grapplerに感謝します。

各テーブルの前にurlを表示したい場合は、

for url in $( wp site list --field="url" ); \
do \
   echo $url; \
   wp user list --role=administrator --url=$url; \
done; 
5
birgire