使用WP CLI在WP多站点中设置选项

时间:2014-11-25 作者:Paul Osborne

我使用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操纵和控制关联数组的线索,我将非常感谢您的帮助。

2 个回复
SO网友:Rarst

您可以使用wp option update 但你不应该这样做。

它有很多用于插件的专用命令,在您的情况下,它可能类似于wp plugin activate active-directory-integration,disable-comments,http-authentication --url=blogs.my.domain/test1.

SO网友:Paul Osborne

抱歉,需要长时间的评论,因此必须使用答案:

您的建议有效,但我发现了一个问题(bug?)

$ 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

结束

相关推荐

如何将WP MultiSite配置为使用/Blog/作为路径结构的一部分?

我正在使用子目录将现有的一组站点迁移到多站点,需要精确匹配url路径,并且与根安装上默认插入的/blog/路径发生冲突。我已经梳理了所有关于这个问题的帖子,但还没有找到我的具体问题的答案,所以就这样。我正在努力实现以下目标:示例。com/blog(英语博客)示例。com/fr/blog(法语)示例。com/ja/blog(日语)等。默认情况下,在根安装路径中插入/blog/时,多站点会限制您使用它,在子路径(即/fr/blog)中使用它也是如此。有什么想法吗?我完全被难住了。谢谢