web-dev-qa-db-fra.com

En utilisant WP CLI pour définir les options dans WP Multisite

WP-CLI fonctionne correctement avec WP Multisite (ou réseau). Je peux créer des blogs, ajouter des utilisateurs, définir des autorisations, etc. Mais je ne suis pas sûr de savoir comment activer les plugins pour des blogs individuels via WP CLI.

Par exemple, je peux voir pour un blog spécifique que les plugins suivants sont activés:

$ 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',
)

Ce qui a été fait en utilisant l'interface graphique normale et tout va bien.

Cependant, ce que je voudrais faire est de définir les options pour chaque plug-in - ce que j'ai fait via WP CLI. Ce que je ne suis pas sûr de savoir comment faire, c'est de manipuler le tableau associatif via WP_CLI afin d'activer les plugins pour chaque nouveau site. Pour l'instant, il est compréhensible que le active_plugins apparaisse comme suit même si les paramètres du plugin sont en place:

$ wp option get active_plugins --url=blogs.my.domain/test2 array ()

Je voudrais donc que le tableau soit défini comme premier exemple de site sur lequel les plugins sont activés.

Si quelqu'un peut me donner des indices sur la manière de manipuler et de contrôler les tableaux associatifs via WP CLI, j'apprécierais votre aide.

3
Paul Osborne

Vous pourriez probablement manipuler l'option avec wp option update mais vous ne devriez pas .

Il a beaucoup de commandes dédiées pour les plugins, dans votre cas ce serait probablement quelque chose comme wp plugin activate active-directory-integration,disable-comments,http-authentication --url=blogs.my.domain/test1.

1
Rarst

Désolé, il faut un long commentaire, alors il faut utiliser une réponse:

Ce que vous suggérez fonctionne, mais j’ai trouvé un problème (bug?):

$ wp option get active_plugins --url=blogs.my.domain/undersea/submarinearray    (
)

C'est ce à quoi je m'attendrais, puis activez le plugin:

$ wp plugin activate active-directory-integration --url=blogs.my.domain/undersea/submarine
Warning: Could not activate the 'active-directory-integration' plugin.

Ce qui suggère que le plugin ne s'est pas activé, mais:

$ wp option get active_plugins --url=blogs.my.domain/undersea/submarinearray     (
  0 => 'active-directory-integration/ad-integration.php',
)

Il me dit que c'est actif, ce qui n'est pas ce à quoi je m'attendais.

Alors désactivez le plugin:

$ wp plugin deactivate active-directory-integration --url=blogs.canterbury.ac.uk/undersea/submarine
Success: Plugin 'active-directory-integration' deactivated.

et pour confirmer:

$ wp option get active_plugins --url=blogs.my.domain/undersea/submarinearray (
)

C'est ce à quoi je m'attendrais.

Donc, je reçois un message correct quand un plugin est désactivé, mais pas quand il y en a un, c'est juste un peu trompeur.

J'apprécie pouvoir faire ce que je dois faire, mais le message trompeur n'est pas aussi utile que je le souhaiterais.

Merci beaucoup

P.

1
Paul Osborne