Автоматическая установка встроенных плагинов при активации темы?
Я рассматриваю возможность использования http://tgmpluginactivation.com/ для активации необходимых плагинов для моей пользовательской темы на этапе активации темы.
Насколько я понимаю, этот класс только автоматически активирует плагины, но не устанавливает автоматически плагины, встроенные в мою тему.
Кто-нибудь знает, возможно ли автоматически устанавливать плагины при активации темы? Желательно, способом, который все еще может использовать TGM?
Отредактированный ответ:
TMG — это очень популярный плагин для автоматической установки плагинов в WordPress, и многие авторы премиальных тем используют его. Вы можете получить PHP-класс здесь https://github.com/thomasgriffin/TGM-Plugin-Activation. Также при скачивании вы получите PHP-файл с именем example.php. Вам просто нужно подключить этот файл example.php в ваш файл functions.php, и затем вы можете отредактировать его для настройки автоматической установки необходимых плагинов для вашей темы.
Вам нужно сделать что-то подобное в файле example.php:
// Это пример того, как включить плагин, поставляемый вместе с темой.
array(
'name' => 'WpMania Slider', // Название плагина.
'slug' => 'WpmSlider', // Слаг плагина (обычно имя папки).
'source' => get_template_directory_uri() . '/assets/plugins/plugins/WpmSlider.zip', // Источник плагина.
'required' => true, // Если false, плагин будет только 'рекомендован', а не обязателен.
'version' => '', // Например, 1.0.0. Если указано, активная версия плагина должна быть не ниже этой.
'force_activation' => true, // Если true, плагин активируется при активации темы и не может быть деактивирован до смены темы.
'force_deactivation' => true, // Если true, плагин деактивируется при смене темы, полезно для плагинов, специфичных для темы.
'external_url' => '', // Если указано, переопределяет URL API по умолчанию и указывает на внешний URL.
),
Спасибо, Саббир
Куда следует поместить этот массив? Не все знакомы с TMG, и что это означает?
Tom J Nowell
TMG — это очень популярный плагин для автоматической установки плагинов в WordPress, и многие авторы премиум-тем используют его. Вы можете получить PHP-класс здесь https://github.com/thomasgriffin/TGM-Plugin-Activation. Также, когда вы скачаете его, вы получите PHP-файл с именем example.php. Вам просто нужно подключить этот файл example.php в ваш файл function.php, и вы можете отредактировать его для автоматической установки необходимых плагинов для вашей темы.
Sabbir H
Отлично, вам следует отредактировать ваш ответ, чтобы включить эту информацию
Tom J Nowell
Функция activate_plugin - это то, что вам нужно. Разместите её в действии after_setup_theme.
Использование
activate_plugin ( $plugin, $redirect = '', $network_wide = false, $silent = false )
Страница документации для функции activate_plugin выглядит не слишком многообещающе, и я не уверен, будет ли она работать, так как никогда её не использовал. Думаю, стоит попробовать?
Активация плагинов при активации темы потенциально может вызвать проблемы и сломать сайты.
Ссылки
Конечно, обязательное использование плагина может сделать вашу тему менее гибкой, поэтому должен быть запасной вариант. В своем предыдущем ответе я рекомендовал использовать плагин TMG. Там есть возможность сделать плагин обязательным (пожалуйста, проверьте мой ответ выше как пример). Если вы просто измените параметр "required" на "false", вы сможете обойти эту ситуацию.
Sabbir H