Задавайте вопросы по курсам WordPress

Установка плагинов на автомате в премиум теме WordPress

Думаю те кто когда либо качали темы для WordPress или покупали их на таких биржах как themeforest, замечали что многие темы после установки и активации просят установить для них необходимые плагины. Сегодня мы поговорим о библиотеке TGM Plugin Activation которая дает возможность устанавливать плагины после активации темы, узнаем как в премиум темах все плагины ставятся на автомате. Плагины можно будет устанавливать как из репозитория WordPress, так и из других внешних источников, также можно будет устанавливать плагины которые разрабатывали вы и положили в вашу теме. Класс этой библиотеки устанавливает и активирут плагины на основе WordPress API, а это значит что проблем при обновлении быть не должно.

Как настроить TGM Plugin Activation

Настройку мы будем проводить на стандартной теме TwentyEleven, но вы можете воспользоваться и другой темой, проверьте только чтобы в вашей теме в файле style.css, был добавлен комментарий вида: Text Domain: twentyeleven. Ниже в коже мы будем его использовать в переменной $theme_text_domain = ‘twentyeleven’;.

Для начала нам необходимо скачать библиотеку из сайта разработчиков или из GitHub и положить в корень нашей темы файл class-tgm-plugin-activation.php и папку plugins со всем ее содержимым.

После того как необходимые файлы скопированы нам нужно подключить наш класс к шаблону. Подключение класса осуществляем через файл functions.php.

В файл functions.php, в верхней его части добавляем код вызова функции установки обязательных плагинов:

require_once dirname(__FILE__).'/class-tgm-plugin-activation.php';
add_action('tgmpa_register','my_theme_register_required_plugins');

Ниже добавим код самой функции:

function my_theme_register_required_plugins(){
	$plugins = array(
		/* установка плагинов из папки темы, которые вы поставляете в комплекте */
		array(
			'name' => 'TGM Example Plugin', // имя  плагина
			'slug' => 'tgm-example-plugin', // Имя плагина (совпадает с именем папки плагина)
			'source' => get_stylesheet_directory().'/plugins/tgm-example-plugin.zip', // источник плагина
			'required' => false, 
			// 'required' - плагин обязательый? нужно ли го активировать поле установки?
		),
		/* установка плагинов на автомате из репозитория wordpress */
		array(
			'name' => 'Edit Howdy',
			'slug' => 'edit-howdy', 
			// слуг можно посмотреть в ссылке к плагину
			// https://wordpress.org/plugins/edit-howdy/ - edit-howdy			
		),
		array(
			'name' => 'Evanto dashboard',
			'slug' => 'evantodashboard',
			'source' => get_stylesheet_directory().'/plugins/evantodashboard.zip', // источник плагина
			'required' => false,
		),
	);
	
	$theme_text_domain = 'twentyeleven'; // текстовый домен темы
	$config = array(
		/*domain => $theme_text_domain, // текстовый домен, точно такой как указан в вашей теме*/
		/*dafault_path => '', // Абсолютный путь по умолчанию к папке плагинов*/
		/*menu => 'install-my-theme-plugin', // Menu slug*/
		'settings' => array(
			/*'page_title'	=> __('Install Required Plugins', $theme_text_domain)*/
			/*'menu_title'	=> __('Install Plugins', $theme_text_domain)*/
			/*'instructions_install'	=> __( 'The %1$s plugin is required for this theme. Click on the big blue button below to install and activate %1$s.', $theme_text_domain ), // %1$s = plugin name */
			/*'instructions_activate'  => __( 'The %1$s is installed but currently inactive. Please go to the <a href="%2$s">plugin administration page</a> page to activate it.', $theme_text_domain ), // %1$s = plugin name, %2$s = plugins page URL */
			/*'button'                 => __( 'Install %s Now', $theme_text_domain ), // %1$s = plugin name */
			/*'installing'             => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name */
			/*'oops'                   => __( 'Something went wrong with the plugin API.', $theme_text_domain ), // */
			/*'notice_can_install'     => __( 'This theme requires the %1$s plugin. <a href="%2$s"><strong>Click here to begin the installation process</strong></a>. You may be asked for FTP credentials based on your server setup.', $theme_text_domain ), // %1$s = plugin name, %2$s = TGMPA page URL */
			/*'notice_cannot_install'  => __( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', $theme_text_domain ), // %1$s = plugin name */
			/*'notice_can_activate'    => __( 'This theme requires the %1$s plugin. That plugin is currently inactive, so please go to the <a href="%2$s">plugin administration page</a> to activate it.', $theme_text_domain ), // %1$s = plugin name, %2$s = plugins page URL */
			/*'notice_cannot_activate' => __( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', $theme_text_domain ), // %1$s = plugin name */
			/*'return'                 => __( 'Return to Required Plugins Installer', $theme_text_domain ), // */
		),
	);
	tgmpa( $plugins, $config );
}

Если вы все сделали правильно, то увидите сообщение о том, что необходимо установить плагины, которые обязательны для данной темы, сообщение будет такого вида.

wordpress auto install plugin with themes

Нажимаем на кнопку Begin installing plugins и у вас появиться окно со списком ваших плагинов.

wordpress auto install plugin with themes windowВ окне мы можем видеть, что пункт Edit Howdy отображается как ссылка, при нажатии вы сможете почитать об этом плагине, так как мы его устанавливаем из репозитория. Остальные плагины будут неактивны, так как будут устанавливаться с папки темы.

Запустим автоматическую установку плагинов

  • Выберите плагины которые необходимо установить,
  • Выберите действие «install»,
  • Нажмите применить.

auto install plugin step by step lwssons

Если все сделали правильно, то у вас 2 плагина установятся и один выведет ошибку (An error occurred while installing Evanto dashboard: Загрузка не удалась. Предоставлен неверный URL..). Ошибка появилась потому что в нашу тему мы не добавляли файл плагина Evanto dashboard.

autoinstall plugin to wordpress api

Осталось только отметить все нужные плагины и активировать их.

wordpress plugin auto install and activate

Если все сделали правильно, то вы получите сообщение (The following plugins were activated successfully: Edit Howdy and TGM Example Plugin).

Если вы не установили все плагины и решили делать установку по одному, при этом вы потеряли окно установки, то вы всегда сможете вернуться на страницу установки через меню администратора в разделе Внешний вид -> Install Plusins.

wordpress autoinstall plugin lessons

Вот и все, пробуем устанавливать свои плагины! Удачи в разработке удобных и качественных тем для WordPress.


Купить хостинг WordPress
/* Репетитор по wordpress
Услуги репетитора онлайн. Список курсов которые я веду
  • Базовый курс по веб-дизайну;
  • Верстка сайтов;
  • Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
  • Разработка сайтов на PHP.
Подробнее читайте на странице репетитор по WordPress
*/

Николаенко Максим

Директор веб-студии ProGrafika. Занимаюсь разработкой, дизайном и продвижением веб-сайтов. Всегда рад новым читателям блога и хорошим клиентам.


Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Шаблоны для WordPress
Самый лучший хостинг в Украине
Стабильный хостинг для Drupal