Мультисайт WordPress: активация/деактивация плагина определенного блога

Программно я хочу активировать/деактивировать плагин этого конкретного блога/сайта на мультисайте WordPress. Будем рады любой помощи, спасибо!


person Yves    schedule 17.10.2017    source источник
comment
вам не нужно активировать плагин по сети на всех сайтах основного сайта — вы можете просто установить его и активировать на дополнительных сайтах, где это необходимо   -  person Stender    schedule 17.10.2017
comment
Я пишу плагин, поэтому он мне нужен программно.   -  person Yves    schedule 17.10.2017
comment
вы можете деактивировать его с помощью функции для определенного сайта - если у вас есть идентификатор этого сайта - или вам нужна настройка?   -  person Stender    schedule 17.10.2017


Ответы (2)


  1. Из вашей сетевой панели перейдите на панель управления любого дочернего сайта.

    введите здесь описание изображения

  2. Затем перейдите в «Плагины» и активируйте плагин в этом конкретном блоге.

Если вы хотите сделать это программно, вы можете использовать enable_plugins() или deactivate_plugins() после функции switch_to_blog($blog_id), например:

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();
}
person Misha Rudrastyh    schedule 17.10.2017
comment
Спасибо за ответ, но я хочу сделать это программно. - person Yves; 17.10.2017
comment
Благодарю вас! Я очень ценю это. - person Yves; 17.10.2017
comment
Как насчет темы? Программно активировать/деактивировать тему определенного блога - person Yves; 17.10.2017
comment
То же самое, но функция switch_theme() - person Misha Rudrastyh; 17.10.2017
comment
Прохладный! Я должен попробовать. Спасибо большое Миша! - person Yves; 18.10.2017

Через 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"
person Yves    schedule 17.10.2017