WordPress MU-плагины: что это такое + полезные плагины, которые необходимо использовать веб-разработчикам WP

Опубликовано: 2022-02-24

Вам нужны функции, которые автоматически активируются и остаются включенными на вашем веб-сайте? Затем рассмотрите возможность добавления их в WordPress в качестве мю-плагина … даже создайте свой собственный!

В этом уроке мы рассмотрим:

  • Что такое MU-плагины?
  • Краткая история MU-плагинов
  • Возможности MU-плагина
    • Как изменить каталог обязательных плагинов по умолчанию
  • Когда не следует использовать MU-плагины
  • Как создать и установить MU-плагины в WordPress
  • Учебники по MU-плагинам
    • Скрыть элемент администратора WordPress для всех пользователей (кроме вас)
    • Скрыть верхнее меню WordPress и создать пользовательскую кнопку выхода
    • Добавьте CSS в бэкэнд WordPress
    • Удалить все стили из содержимого WordPress
    • Скрыть Elementor в админке WordPress
    • Сделайте Beehive Analytics домашней страницей панели управления WordPress

Давайте прыгнем прямо в…

Что такое WordPress MU-плагины?

Что такое MU-плагины?
Могут ли mu-плагины заставить сайты WordPress летать?

Как описано в документации WordPress.org…

Обязательные плагины (также известные как mu-plugins) — это плагины, устанавливаемые в специальный каталог внутри папки содержимого и автоматически активируемые на всех сайтах в процессе установки.

Таким образом, обязательный к использованию плагин («mu-plugin») ничем не отличается от любого другого плагина WordPress, за исключением того факта, что при загрузке в каталог mu-plugins папки wp-content (т. е. /wp-content/mu-plugins , он автоматически активируется и остается включенным при установке WordPress.

Краткая история MU-плагинов

Еще в первые дни (примерно в версии 3.0) WordPress представил функцию под названием Multisite (первоначально называвшуюся WordPress MU), позволяющую нескольким сайтам совместно использовать и управлять ими с помощью одной установки WordPress. WordPress Multisite (или WPMU, как он стал известен) также представил Каталог mu-plugins, предлагающий администраторам сайта простой способ активировать плагины по умолчанию для всех блогов в сети с несколькими сайтами.

Хотя MU-плагины изначально назывались «многопользовательские плагины», они были переименованы в «обязательные» плагины. Установленные в каталоге «mu-plugins» установки WPMU, mu-plugins теперь можно использовать везде, где вы хотите, чтобы один или несколько плагинов автоматически активировались и оставались включенными, будь то в одной или нескольких установках WordPress.

Возможности MU-плагина

Обязательный плагин («mu-plugin») — это плагин, который по умолчанию автоматически активируется и остается включенным при загрузке в каталог mu-plugins папки wp-content (например /wp-content/mu-plugins , После загрузки в этот каталог WordPress автоматически узнает, что этот плагин необходимо использовать при установке.

Обязательные плагины загружаются перед обычными плагинами и не отображаются в списке плагинов по умолчанию на странице плагинов wp-admin. Однако они появляются в специальном разделе «Обязательно использовать» в меню списка на экране плагинов.

Экран плагинов - MU-Plugins
Экран «Плагины» с загружаемыми на сайт плагинами, которые необходимо использовать.

Примечания:

  • Mu-плагин нельзя деактивировать или отключить, кроме как путем удаления файла плагина из обязательного каталога вашей установки WordPress.
  • Пока плагин остается в каталоге, WordPress всегда будет его выполнять. Таким образом, после добавления mu-плагина в каталог mu-plugins он остается «всегда включенным», пока не будет удален из этой папки.
  • Обязательные к использованию плагины не обновляются автоматически, и WordPress не уведомляет вас о новых версиях. Это означает, что mu-плагины должны обновляться вручную (если они не установлены и не поддерживаются внешней службой).
  • Плагины, обязательные к использованию, можно включить, просто загрузив файл в каталог mu-plugins без необходимости входа в систему.
  • MU-плагины загружаются PHP в алфавитном порядке перед обычными плагинами. Это означает, что хуки API, добавленные в mu-плагин, будут применяться ко всем другим плагинам, даже если они запускают хуки-функции в глобальном пространстве имен.
  • Кроме того, имейте в виду, что mu-плагины будут работать как на односайтовых, так и на многосайтовых установках WordPress, но будут применяться к каждому сайту в многосайтовой сети.

Как изменить каталог обязательных плагинов по умолчанию

Чтобы изменить каталог по умолчанию вручную, вам нужно определить две константы ( WPMU_PLUGIN_DIR и WPMU_PLUGIN_URL ) в wp-config.php :

define('WPMU_PLUGIN_DIR', '/full/path/to/new/directory');
define('WPMU_PLUGIN_URL', 'https://URL/to/new/directory');

Примечания:

  • Если вы определите вышеуказанные константы, а путь недействителен, WordPress не будет переопределять константы, и ваши mu-плагины не будут загружаться. Поэтому, если у вас нет причин менять каталог mu-plugins по умолчанию, мы рекомендуем придерживаться значений по умолчанию для WPMU_PLUGIN_DIR и WPMU_PLUGIN_URL .
  • При изменении каталога по умолчанию эти две константы должны быть определены в файле wp-config.php перед строкой, в которую включен файл wp-settings.php , поэтому вы не сможете использовать полезные константы (например WP_CONTENT_DIR ).

Когда вам НЕ следует использовать MU-плагины?

Обязательные плагины позволяют добавлять в ядро ​​WordPress функции, которые не установлены по умолчанию, но которые могут понадобиться пользователям.

Однако, как указано в документации WordPress…

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

Далее в документации приводится ряд важных предостережений, о которых следует помнить:

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

Примечание. WordPress ищет файлы PHP только внутри каталога mu-plugins и (в отличие от обычных плагинов) не ищет файлы в подкаталогах. Вы можете создать прокси-файл загрузчика PHP внутри каталога mu-plugins:

 <?php // мю-плагины/load.php
требуется WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php';

Сохраняйте простоту с Mu-плагинами

Mu-плагины следует использовать только для выполнения «одного» простого действия. Постоянный вызов сложного кода может привести к конфликту с другим кодом или плагинами, а использование mu-плагинов в качестве предполагаемых источников, когда устранение конфликтов может действительно усложнить ситуацию.

MU-плагины нельзя хранить в подкаталогах

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

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

Как создать и установить MU-плагины в WordPress

Добавление обязательного плагина на ваш сайт требует трех шагов:

  1. Создайте каталог (папку) mu-plugins в каталоге wp-content
  2. Создайте файл php mu-plugin
  3. Загрузите/установите файл на свой сайт через FTP

Мы создали отличное пошаговое руководство, которое покажет вам, как устанавливать MU-плагины в WordPress в нашем разделе документации.

Следуйте приведенному выше руководству, чтобы пройти весь процесс, или нажмите на ссылку ниже, чтобы перейти к одному из вышеуказанных шагов:

  • Создайте каталог mu-plugin
  • Создать мю-плагин
  • Загрузить/установить файл mu-plugin

Добавьте эти полезные обязательные плагины в свой набор инструментов WordPress

Предупреждение: мы настоятельно рекомендуем сделать полную резервную копию вашего сайта перед внесением изменений или добавлением кода в файлы сервера на случай, если что-то пойдет не так. Snapshot упрощает резервное копирование и восстановление сайтов WordPress!

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

1. Скрыть панель администратора WordPress для всех пользователей (кроме вас)

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

Хотя вы можете настроить инструменты администратора с помощью плагина, такого как Branda, вы также можете легко сделать это с помощью кода.

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

Просто создайте mu-плагин и добавьте следующий код и стилизуйте его с помощью CSS:

 <?php
add_action('admin_footer', 'hideitems');
функция скрытия элементов () {
   если ( ! is_super_admin() ) {
      эхо "<стиль>
         #wpadminbar {
            отображение: нет !важно;
         }
      </стиль> ";
   }
}

2. Скройте верхнее меню WordPress и создайте пользовательскую кнопку выхода

Вот еще одна настройка администратора WordPress, которую вы можете сделать для своих клиентов.

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

Например, если вы создаете сайты с помощью Elementor, ваши клиенты могут получить доступ к параметрам настройки темы Elementor непосредственно из верхней строки меню.

Добавьте новый шаблон Elementor на панель инструментов WordPress.
Пользователи могут добавить новый шаблон Elementor на свою панель инструментов WordPress.

Придерживаясь Elementor для этого примера, вы можете решить скрыть это, чтобы избежать проблем, и оставить путь настройки темы внутри области администрирования в разделе «Шаблоны»> «Конструктор тем». Или вы можете решить удалить его вообще, потому что даже если вы отключите параметры из панели администратора, некоторые пользователи все равно могут не понять, что это такое и почему оно отображается на переднем конце их сайтов.

Скрыть верхнюю панель очень легко с помощью плагина, такого как Branda… просто перейдите в «Панель администратора» > «Панель администратора», а затем снимите флажок «Видимость панели инструментов для некоторых пользователей».

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

К счастью, есть решение: просто добавьте этот код в качестве mu-плагина, чтобы создать кнопку выхода:

 <?php
add_action(
   'admin_menu',
   функция () {
      add_menu_page(
         'Выйти',
         'Выйти',
         'читать',
         'wp_custom_logout_menu',
         '__return_false',
         'тире-маркер',
         1 // Здесь используйте 1 для размещения меню сверху или PHP_MAX_INT для размещения его внизу,
      );
   }
);

add_action(
   'admin_init',
   функция () {
      если ( isset( $_GET['page'] ) && $_GET['page'] == 'wp_custom_logout_menu' ) {
         wp_redirect(wp_logout_url());
         выход();
      }
   }
);

Это перенаправит вашего пользователя на страницу входа после процесса выхода.

3. Добавьте CSS в серверную часть WordPress

Как вы можете добавить CSS в серверную часть WordPress?

Еще раз, вы можете использовать плагин, такой как Branda, но вы также можете создать mu-плагин и вставить следующий код в свой файл:

 <?php
add_action('admin_footer', 'my_admin_css');
функция my_admin_css() {
   эхо '<стиль>
      /*Поместите сюда свой код CSS*/
   </стиль>';
}

Вот и все… просто и очень удобно!

4. Удалите все стили из контента WordPress

Предположим, вы столкнулись с сайтом, где все стили контента задаются HTML в контенте WordPress.

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

Итак, вот обходной путь для этого.

Создайте mu-плагин и добавьте следующий код:

 добавить_фильтр(
   'содержимое',
   функция ($контент) {
      // Удалить все встроенные стили.
      return preg_replace('/style=("|\')(.*?)("|\')/', '', $content );
   }
);

Попробуйте!

5. Скрыть Elementor в панели администратора WordPress

Elementor — один из популярных и широко используемых конструкторов страниц для WordPress. Если вы веб-разработчик или веб-мастер, вы можете использовать Elementor для создания и управления веб-сайтом и его содержимым.

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

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

Этот совет хорошо работает на следующих типах сайтов:

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

Как указывалось ранее, если конечным пользователям необходимо регулярно создавать страницы WordPress, это может не сработать для вас, потому что для этого им понадобится Elementor.

Перед созданием мю-плагина сначала необходимо скрыть Elementor в меню. Затем вы можете скрыть кнопку Elementor на страницах WordPress.

1. Скрыть Elementor в меню

Установите Branda, а затем:

  • Перейдите в Панель администратора > Панель администратора и скройте ее для конечных пользователей. Таким образом, они не смогут получить доступ к конструктору Elementor оттуда.
  • Перейдите в «Панель инструментов»> «Меню администратора»> «Настроить», а затем скройте меню администратора Elementor для всех, кроме вас (совет: используйте для этого роли пользователей, так как это проще, чем делать это для каждого пользователя).
  • Не забудьте также скрыть меню «Шаблоны» (это, пожалуй, самая важная вещь, которую нужно скрыть).

Примечание. Мы рекомендуем, чтобы только один человек имел доступ к шаблонам, особенно если они используются для создания вашей темы и использования CSS для управления каждым элементом дизайна вашего сайта. Это не позволяет другим пользователям добавлять CSS в другом месте (например, в конструкторах, настройщике тем, таблицах стилей и т. д.)… и без надлежащего комментирования при добавлении кода, например

 /* Настройка заголовка */
.заголовок{
   поле сверху: 10px;
}
/* КОНЕЦ настройки заголовка */

2. Скройте кнопку Elementor на страницах WordPress

Самый простой способ создать или изменить страницу с помощью Elementor — просто перейти в « Страницы»> «Создать» и нажать кнопку Elementor, чтобы изменить ее.

Также есть способ скрыть эту кнопку, если вы вообще не хотите, чтобы пользователи получали доступ к Elementor.

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

Примечание. Вы можете использовать предыдущий шаг, чтобы скрыть только шаблоны Elementor (чтобы сохранить вашу тему в безопасности), но при этом оставить доступ в Elementor для создания и изменения страниц. Это, однако, может быть рискованным, поскольку, когда пользователи находятся на странице Elementor, они могут переходить к другим элементам, таким как верхний или нижний колонтитул, или получать доступ к глобальным настройкам Elementor, которые влияют на сайт.

После того, как вы сделали все вышеперечисленное, остается только создать mu-плагин и вставить следующий код, чтобы скрыть кнопку:

 <?php
add_action('admin_footer', 'hideitems');

функция скрытия элементов () {
   если ( ! is_super_admin() ) {
      ?>
        <стиль>
            # элемент-переключатель-режим {
                дисплей: нет;
            }
        </стиль>
      <?php
   }
}

Наслаждаться!

6. Сделайте Beehive Analytics домашней страницей панели инструментов WordPress

Если вы не являетесь большим поклонником страницы администрирования WordPress (даже если вы можете настраивать ее виджеты и скрывать панели) или если ваши пользователи видят этот экран каждый раз, когда они входят в свою панель управления WordPress…

Экран панели инструментов WordPress
Смотрите, но не смотрите… это то, что вы хотите, чтобы пользователи видели, когда они входят в систему?

Почему бы не показать им красивую целевую страницу администратора с такой полезной информацией?

Экран аналитики Beehive Pro
Ооо… ааа… графики и статистика… это намного лучше!

Опять же, вы можете использовать Branda для настройки панели администратора и левого меню или скрытия/отображения меню в зависимости от роли пользователя. Это замечательно, если вы единственный администратор и хотите отображать минимум необходимых меню для конечных пользователей или добавить пользовательский CSS.

Если, однако, все, что вы хотите сделать, это перенаправить пользователей со страницы администрирования WordPress на более полезную страницу, такую ​​как страница аналитики Beehive, то просто создайте mu-плагин и добавьте этот код:

 <?php
функция wpmudev_redirect_page() {
   глобальная $pagenow;
   if ( $pagenow == 'index.php' && ! wp_doing_ajax() && is_plugin_active( 'google-analytics-async/google-analytics-async.php' ) ) {

      wp_redirect(admin_url('/admin.php?page=beehive-google-analytics'));
      выход;
   }
}

add_action('admin_init', 'wpmudev_redirect_page');

Наслаждаться!

Заставьте WordPress летать с помощью MU-плагинов

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

Ознакомьтесь с нашей документацией по mu-plugins, попробуйте создать и установить некоторые собственные обязательные плагины, а если у вас возникнут какие-либо проблемы или вам понадобится помощь специалиста, свяжитесь с нашей службой поддержки… мы доступны 24/7, чтобы ответить на любые ваши вопросы по WordPress. имеют!

Авторы

Эта статья была написана в сотрудничестве с:

благовония

Антуан – Благовония. Я увлечен веб-культурой и цифровыми решениями. Я работаю в этой сфере уже 11 лет. Всегда ищу лучшие решения, чтобы помочь моим клиентам преодолеть цифровые проблемы и развивать свой бизнес в Интернете. Мое видение цифрового успеха: разработайте глобальную стратегию, применяйте ее с максимальной точностью и постоянно совершенствуйтесь.

***

Примечание. Мы не принимаем статьи из внешних источников. Однако члены WPMU DEV могут вносить идеи и предложения для руководств и статей в нашем блоге через Blog XChange.

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