печать календарей

Плагины WordPress — Must Use Plugins

Приветствую Вас, уважаемые подписчики и посетители блога 4remind.ru. Уверен, что многие из вас знают, что такое плагины WordPress и как их использовать. А встречали ли Вы такое выражение как «Must Use Plugins»? И знаете ли Вы что это означает и как применяется? Думаю для некоторых полезно будет пополнить коллекцию знаний о структуре и управлении блогами и сайтами на движке WordPress.

Поначалу, встретив фразу «Must Use Plugins», в простом переводе на русский как «обязан использовать плагины» или «плагины, обязательные к применению», может показаться, что типа некто или нечто нам намекает на то, что мы должны использовать какие-то особенные плагины. Однако, создавая собственный блог или сайт на движке WordPress, каждый из нас имеет собственное мнение по этому поводу, и использовать или не использовать плагины — это уже наше личное дело. И это верно. Но раз в теме уже затронуто выражение Must Use Plugins, то пора бы с ним и разобраться. Итак, приступим...

Начнем с того, что как ни странно на первый взгляд, в стандартном пакете такие плагины WordPress, как «Must Use Plugins» (или Must-use plugins, mu-plugins) отсутствуют, нет и каталога для них, можете не искать. Но все же, начиная с WordPress 3.0.0, в файлах /wp-admin/includes/plugin.php и /wp-includes/load.php уже присутствуют функции, которые имеют прямое отношение к рассматриваемому нами типу плагинов — это функции:

  • get_mu_plugins()
    Проверяет директорию с плагинами mu-plugins, чтобы получить все файлы этих плагинов вместе со всеми данными.
    Возвращает ассоциативный массив, где ключ — это путь к файлу, а значение — массив данных плагина.
  • wp_get_mu_plugins()
    возвращает массив файлов плагинов типа «must-use» с глобальным доступом;

Плагины «Must Use Plugins» могут быть установлены в специальную директорию внутри каталога контента (wp-content) и автоматически включатся на всех сайтах при первой же инсталляции. При этом плагины «must-use» не будут видны на странице плагинов в административной панели управления сайтом, и даже они не могут быть отключены, за исключением разве что только путем удаления файла(ов) плагина из каталога, который по умолчанию находится в wp-content/mu-plugins.
Каталог по умолчанию можно изменять, определив для этого WordPress-константы WPMU_PLUGIN_DIR и WPMU_PLUGIN_URL в файле wp-config.php.

Особенности плагинов типа «Must Use Plugins»

  • Они всегда включены (активированы), нет необходимости активировать их через административную панель управления сайтом, и пользователи не смогут случайно или даже преднамеренно их выключить.
  • Активировать их проще простого — достаточно всего лишь загрузить файл(ы) плагина(ов) в директорию mu-plugins, и даже без обязательств логиниться на сайте, т.к. можно загрузить по FTP.
  • подгружаются они самим PHP в алфавитном порядке, причем раньше, чем все остальные обычные плагины, не взирая даже на то, что используются ли обычными плагинами глобальные хуки или нет.

Предостережения

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

  • Плагины, находящиеся в каталоге mu-plugins не будут упоминаться в уведомлениях о доступных обновлениях, и их статус обновления тоже не будет выводиться на странице плагинов, так что Вам самим придется нести ответственность за контроль над ними и выполнять обновления по своему усмотрению.
  • Хуки, выполняющиеся при активации, деактивации или удалении плагинов, не срабатывают в каталоге mu-plugins. Это, например, могут быть действия, инициализирующие какие-то значения в базе данных или удаляющие их в процессе деинсталляции. Поэтому нужно тщательно проверять код плагинов перед тем, как выкладывать их на рабочие сайты.
  • WordPress использует только те PHP-файлы, которые находятся непосредственно в каталоге mu-plugins, но не обращает внимания на файлы в подкаталогах (в отличие от обычных плагинов). Но если вам необходимо использовать и файлы в подкаталогах, то можно воспользоваться приемом подключения средствами PHP. Например, если у вас плагину mu-plugins/my_mu_plugin.php требуется файл из подкаталога mu-plugins/additions/my_addition.php, то можно использовать такой код:

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

Удачных Вам экспериментов с «Must Use Plugins»!

Метки: ,
Другие статьи похожей тематики:

Поделитесь материалом с другими, воспользуйтесь этими кнопками:
Получать обновления и новые материалы блога по E-mail

5 комментариев к “Плагины WordPress — Must Use Plugins”

  1. evernicer:

    Мда :) Для меня только установить и забыть нафиг :) А тут премудрости какие-то :)

    Ответить
    • Так никто и не принуждает использовать эти Must Use плагины повсеместно :) Они больше на мой взгляд пригодны для мульти-сайтинга и когда на сайте или блоге несколько управленцев, которым нужно например закрыть доступ к управлению некоторым из плагинов, и чтобы те даже не знали что произошло. Ну и еще можно использовать такие плагины скажем в некоторых аварийных ситуациях, когда срочно нужно что-то внедрить в работу сайта или блога для коррекции сбоев или чего-то еще. Ведь достаточно готовый файл забросить в нужный каталог по FTP и все готово.

      Ответить
  2. Евдокимов:

    Плагины замечательно и без FTP устанавливаются. В этом конечно ВП удобен, в отличии от joomla.

    Ответить
    • Ильмир:

      В joomla внешние расширения тоже с админик можно установить. С джумлой давно дружу, даже писал компоненты, но тут решил блог на ВП забабахать, вообще не понимаю структуру.

      Ответить
      • Ильмир, для начала по WordPress можно почитать документацию здесь http://codex.wordpress.org/ru:Main_Page

        Ответить

Оставить комментарий

Подписаться на обновления блога 4remind.ru по RSS
Новости блога в социальных сетях

="4remind.ru