Плагины в папке mu-plugins не загружаются

19 авг. 2011 г., 16:41:11
Просмотры: 15.7K
Голосов: 13

Я пытаюсь автоматически загружать плагины, помещая их в папку mu-plugins. Однако если плагин находится в подпапке, он не загружается. Я пробовал популярные плагины, такие как W3 Total Cache, WordPress SEO By Yoast, но ни один из них не загружается.

WordPress загружает только те плагины, которые представляют собой одиночные файлы в mu-plugins?

0
Все ответы на вопрос 3
1
18

Загружает ли WordPress только плагины, которые представляют собой одиночные файлы в mu-plugins?

Нет, они не обязательно должны быть одиночными файлами, но вы не можете использовать плагины в собственных подпапках, как в стандартной папке plugins/.

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

Я сам использовал этот подход со своими плагинами. Никогда не пробовал переносить туда сложные плагины.

Также учтите, что не все плагины совместимы с must-use
подробнее см. http://codex.wordpress.org/Must_Use_Plugins#Caveats

19 авг. 2011 г. 17:06:13
Комментарии

Все еще актуально в 2017 году. Странно, ведь было бы невероятно полезно фиксировать плагины в директории MU (в их собственных полных директориях) для клиентов, которые любят просто так включать и выключать все подряд.

Ian Ian
11 сент. 2017 г. 19:29:00
2

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

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

22 апр. 2018 г. 01:09:22
Комментарии

Это очень полезно, спасибо

user1676224 user1676224
6 янв. 2020 г. 10:11:09

Прошло три года с момента этого ответа. Всё ещё очень полезно! Спасибо!

DaveyJake DaveyJake
8 окт. 2021 г. 10:12:10
0

Я работал над запуском WordPress внутри Docker-контейнеров и использовал mu-plugins для выполнения скриптов на сервере. Я обнаружил, что в WordPress есть глобальная константа WPMU_PLUGIN_DIR, которая поможет решить эту проблему.

Создавайте свои пользовательские плагины в поддиректориях mu-plugin по мере необходимости, а затем загружайте их из одного файла. Пример:

wp-content/mu-plugins/foo/bar.php
wp-content/mu-plugins/another/index.php

Затем создайте один файл в mu-plugins и назовите его как угодно.

Например, создайте wp-content/mu-plugins/load.php со следующим кодом:

<?php
require(WPMU_PLUGIN_DIR . '/foo/bar.php');
require(WPMU_PLUGIN_DIR . '/another/index.php');

В админке вы увидите только load.php в разделе mu-plugins, но все ваши функции будут загружаться из этого единого скрипта.

6 июл. 2020 г. 02:09:33