Статьи

Всегда установлены плагины WordPress

Когда вы выполняете работу с клиентом и передаете веб-сайт для их использования, вы обычно предоставляете им учетную запись администратора, чтобы у них был полный доступ для внесения изменений в плагины, темы, пользователей … все, что им нужно. Это может быть здорово для пользователя, так как он может делать все, что хочет, это его сайт, почему бы и нет?

Но если вы разработали плагин, который жизненно необходим для их установки, или веб-сайт не будет работать правильно, например плагин для создания пользовательского типа публикации, и пользователь решит отключить его на экране плагина, удалив все эти функции, вы может в конечном итоге получить несколько звонков в службу поддержки.

У вас есть несколько вариантов, которые могут помешать пользователям делать что-то вроде этого …

  • Вы не можете дать им учетную запись администратора.
  • Удалить опцию плагина с экрана плагина
  • Установите этот плагин в папку mu-plugins.

Не дает учетную запись администратора

Проблема в том, что вы не предоставили им учетную запись администратора: в любое время, когда клиент захочет установить новый плагин, сменить тему, ему нужно будет вам позвонить. Это может быть оплачиваемое время, но клиент вряд ли захочет платить вам за то, что он может сделать сам, если вы просто предоставите им доступ к их собственному веб-сайту. Вот почему я всегда даю им учетную запись администратора при передаче сайта. Им необходим полный доступ для внесения любых изменений в веб-сайт, которые им необходимы.

Удалить плагин из экрана плагинов

Один из вариантов, который у вас есть, — убрать плагин из вида на экране плагина . В WordPress у вас есть доступ к фильтру all_plugins , что означает, что вы можете найти нужный плагин и удалить его из списка плагинов.

<?php
add_filter( 'all_plugins', 'hide_plugins');
function hide_plugins($plugins)
{
	// Hide hello dolly plugin
	if(is_plugin_active('hello.php')) {
		unset( $plugins['hello.php'] );
	}
	// Hide disqus plugin
	if(is_plugin_active('disqus-comment-system/disqus.php')) {
		unset( $plugins['disqus-comment-system/disqus.php'] );
	}
	return $plugins;
}

Просто убедитесь, что вы активировали свой плагин, прежде чем удалить его с экрана плагина.

Установить плагин в папку mu-plugins

Это папка, расположенная на одном уровне с папкой плагинов, внутри папки содержимого wp-content / mu-plugins , здесь вы можете установить все необходимые плагины. Эти плагины могут использоваться всеми сайтами в этой установке WordPress. Преимущество размещения плагинов в этой папке заключается в том, что они не будут отображаться на экране обычных плагинов. Но их можно увидеть в собственном разделе, посвященном использованию плагинов в админке. Их можно удалить только из установки, удалив из папки mu-plugins .

Расположение по умолчанию для этой папки — wp-content / mu-plugins, но его можно изменить, вам просто нужно переопределить переменную в файле wp-config.

define('WPMU_PLUGIN_DIR', '/wp-content/must-use-folder-leave-it-alone');
define('WPMU_PLUGIN_URL', 'http://www.example.com/wp-content/must-use-folder-leave-it-alone');

Стоит отметить, что если вы переместите плагин в папку mu-plugins, вы не сможете увидеть его на экране плагина, поэтому вы не сможете деактивировать его или включить. Но когда вы перемещаете плагин в папку mu-plugins, он автоматически активируется.

Недостатки папки mu-plugins

Это звучит замечательно для всех плагинов, которые вы всегда хотели бы видеть в блоге WordPress, таких как плагин Yoast SEO и плагин Akismet , так почему бы не переместить эти плагины в папку mu-plugins?

Использование папки mu-plugins имеет недостатки, так как эти плагины не отображаются на экране плагина, и больше не будет уведомлений о появлении обновления для плагина. Поскольку плагин Yoast SEO постоянно получает новые обновления, я не рекомендую помещать этот плагин в папку mu-plugins, иначе вам придется вручную обновлять этот плагин в новых выпусках.

Когда вы перемещаете плагин в папку mu-plugins, он становится активным, перехватчики активации плагина не запускаются, поэтому, если плагин использует этот перехватчик для настройки структуры базы данных, их не будет при использовании папки mu-plugins.

В папке mu-plugins не может быть папок подкаталогов, поэтому любые плагины, которые вы хотите запустить, необходимо добавить в корень папки.