私はWP Multisite(またはネットワーク)を使ってWP-CLIをうまく動かしています。ブログの作成、ユーザーの追加、権限の設定などができます。ただし、WP CLIを使用して個々のブログのプラグインを有効にする方法はわかりません。
たとえば、特定のブログについて、次のプラグインが有効になっていることがわかります。
$ wp option get active_plugins --url=blogs.my.domain/test1
array (
0 => 'active-directory-integration/ad-integration.php',
1 => 'disable-comments/disable-comments.php',
2 => 'http-authentication/http-authentication.php',
)
これは通常のGUIを使用して行われてきましたが、すべて問題ありません。
しかし、私がやりたいのは各プラグインのオプションを設定することです - 私はWP CLIを通してそれを行いました。どのようにしたらよいかわからないのは、新しいサイトごとにプラグインをアクティブにするためにWP_CLI
を介して連想配列を操作することです。プラグインの設定が整っていても、現時点ではactive_plugins
は次のようになります。
$ wp option get active_plugins --url=blogs.my.domain/test2 array ()
そのため、プラグインが有効になっているサイトの最初の例として配列を設定したいと思います。
WP CLIを使用して連想配列を操作および制御する方法について、誰かから手がかりを得られたら、どうぞよろしくお願いします。
あなたはおそらくwp option update
でオプションを操作することができますが、あなたはできません。
プラグイン専用のコマンドがたくさんあります。あなたの場合はおそらくwp plugin activate active-directory-integration,disable-comments,http-authentication --url=blogs.my.domain/test1
のようなものでしょう。
長いコメントが必要です。答えを使用する必要があります。
あなたが提案するものはうまくいくが、私は問題を発見した(バグ?):
$ wp option get active_plugins --url=blogs.my.domain/undersea/submarinearray (
)
これが私が期待することであり、それからプラグインをアクティブにします。
$ wp plugin activate active-directory-integration --url=blogs.my.domain/undersea/submarine
Warning: Could not activate the 'active-directory-integration' plugin.
これは、プラグインがアクティブになっていないことを示唆していますが、
$ wp option get active_plugins --url=blogs.my.domain/undersea/submarinearray (
0 => 'active-directory-integration/ad-integration.php',
)
それがアクティブであることを私に伝えます、これは私が期待したものではありません。
プラグインを無効にします。
$ wp plugin deactivate active-directory-integration --url=blogs.canterbury.ac.uk/undersea/submarine
Success: Plugin 'active-directory-integration' deactivated.
そして確認する:
$ wp option get active_plugins --url=blogs.my.domain/undersea/submarinearray (
)
これが私が期待することです。
だから私はプラグインが非アクティブ化されているときではなく、非アクティブ化されているとき、私は正しいメッセージを受け取る、これはちょっと誤解を招くようなものです。
私がする必要があることをすることができることを認める、しかし誤解を招くメッセージは私が望むほど役に立ちません。
どうもありがとう
P.