【问题标题】:WordPress Multisite: Activate / Deactivate a Plugin of a Specific BlogWordPress Multisite:激活/停用特定博客的插件
【发布时间】:2017-10-17 11:25:14
【问题描述】:

以编程方式,我想在 WordPress 多站点中激活/停用此特定博客/站点的插件。任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 您不需要在主站点的所有站点上网络激活插件 - 您只需安装它,然后在需要的子站点上激活它
  • 我正在写一个插件,所以我需要它以编程方式。
  • 您可以通过特定网站的功能停用它 - 如果您有该网站的 ID - 或者您想要一个设置?

标签: wordpress multisite wp-cli


【解决方案1】:

通过 WP-CLI

参考:https://developer.wordpress.org/cli/commands/plugin/activate/

语法:

$ wp plugin activate [plugins...] --url=<url>

用法:

  • 激活单个插件:
$ wp plugin activate akismet --url="example.com"
  • 激活多个插件:
$ wp plugin activate akismet jetpack ninja-forms --url="example.com"

【讨论】:

    【解决方案2】:
    1. 从您的网络仪表板转到任何子站点仪表板

    2. 然后转到插件并激活此特定博客上的插件

    如果您想以编程方式执行此操作,您可以在 switch_to_blog( $blog_id ) 函数之后使用 activate_plugins() 或 deactivate_plugins() ,例如:

    add_action( 'admin_init', 'true_plugin_off_in_theme' );
    
    function true_plugin_off_in_theme() {
        switch_to_blog( 'PASS_BLOG_ID_HERE' );
        deactivate_plugins( 'true-instagram-widget/true-instagram-widget.php' );
        restore_current_blog();
    }
    

    【讨论】:

    • 感谢您的回答,但我想以编程方式进行。
    • 谢谢!我真的很感激。
    • 主题怎么样? 以编程方式激活/停用特定博客的主题
    • 同理,不过是switch_theme()函数
    • 酷!我得试试。非常感谢米莎!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 2014-11-05
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多