My Popup не показывается в админке WordPress: как проверить права, конфликт плагинов и загрузку скриптов
Ситуация типовая: плагин установлен, сайт открыт, а в админке My Popup не видно, не открывается его экран настроек или не появляется кнопка вставки/редактирования. В таких случаях проблема чаще всего не в самом плагине, а в правах пользователя, конфликте с другим плагином, ошибке JavaScript в админке или в том, что нужный экран WordPress вообще не загружается из-за ограничений темы/ролей.
Ниже — рабочий порядок проверки. Он подходит для обычной установки WordPress без выдуманных «магических» настроек и помогает быстро понять, где именно ломается цепочка.
Когда проблема действительно в My Popup, а когда — в WordPress
Сначала стоит отделить две разные ситуации. Первая: плагин активен, но его интерфейс не отображается только у конкретного пользователя или роли. Вторая: экран плагина не открывается ни у кого, а в консоли браузера есть ошибки. Это разные причины и разные способы исправления.
Что проверить в первую очередь
- Плагин активирован именно на этом сайте, а не в другой установке WordPress.
- Вы вошли под ролью, которой разрешён доступ к настройкам плагина.
- Нет ли ошибки JavaScript в консоли браузера на странице админки.
- Не блокирует ли доступ security-плагин, MU-plugin или кастомный код в
functions.php. - Не ломает ли интерфейс плагина минификация или объединение скриптов в админке.
Диагностика: где искать причину
Если My Popup не показывается в админке, начните с самого простого сценария: откройте WordPress под администратором, временно отключите все плагины кроме My Popup и проверьте, появляется ли его интерфейс. Если да — это почти наверняка конфликт. Если нет — смотрим права, ошибки загрузки и ограничения на уровне сервера или темы.
Проверка прав доступа и ролей
Иногда проблема банальна: пользователь с ролью редактора или автора не видит страницу настроек, потому что доступ к ней ограничен. Если у вас есть кастомные роли или плагин для управления правами, проверьте, не убран ли capability, который нужен для доступа к меню в админке.
Для быстрой проверки можно временно войти под administrator. Если экран появился, значит, дело не в плагине, а в правах.
Проверка ошибок в консоли
Откройте инструменты разработчика в браузере на странице админки и посмотрите вкладку Console. Если там есть ошибка, связанная с другим плагином, WordPress может не дорисовать интерфейс My Popup. Особенно часто это происходит, когда один из плагинов подгружает старый jQuery-скрипт или обращается к несуществующему DOM-элементу.
Типичный симптом: страница админки загружается, но часть интерфейса пустая, кнопки не работают, а в консоли есть Uncaught TypeError или jQuery is not defined.
Пошаговое решение без лишних догадок
1. Отключите конфликтующие плагины
Если у вас много плагинов, не пытайтесь угадывать виновника. Отключите все, кроме My Popup, и проверьте админку. Затем включайте плагины по одному, пока проблема не вернётся. Это самый надёжный способ найти конфликт.
Если сайт рабочий и отключать всё на бою нельзя, сделайте проверку на staging-копии. Для админских проблем это особенно важно: конфликт может проявляться только при загрузке конкретного экрана.
2. Проверьте, не мешает ли оптимизация админке
Некоторые плагины оптимизации умеют объединять или откладывать скрипты даже в wp-admin. Это удобно на фронтенде, но в админке часто ломает интерфейс. Если у вас включены настройки вроде объединения JS, defer для админки или агрессивная очистка скриптов, временно отключите их и повторите проверку.
Если после отключения оптимизации My Popup появляется, значит, нужно исключить админские скрипты из обработки, а не выключать оптимизацию целиком.
3. Посмотрите, не блокирует ли доступ кастомный код
Иногда в functions.php или в MU-plugin добавляют ограничения на меню админки, скрывают пункты интерфейса или фильтруют capabilities. Если My Popup регистрирует свой пункт меню через стандартные механизмы WordPress, такой код может его скрыть.
Ниже пример, как проверить, не убирается ли меню для текущей роли. Это не решение само по себе, а способ быстро локализовать проблему:
<?php
add_action('admin_menu', function () {
if (current_user_can('manage_options')) {
error_log('Admin menu доступен для manage_options');
}
});Если вы видите, что у пользователя нет нужной capability, проверьте роль и плагины, которые управляют доступом.
4. Очистите кэш браузера и серверный кэш
Даже если проблема выглядит как «плагин не показывается», иногда в админке подгружается устаревший JS/CSS из кэша браузера. Это особенно заметно после обновления плагина. Откройте админку в режиме инкогнито или очистите кэш браузера, затем повторите проверку.
Если на сайте есть серверный кэш или CDN, убедитесь, что он не кэширует /wp-admin/ и /wp-login.php. Это базовая, но критичная проверка.
Как проверить загрузку скриптов My Popup
Если интерфейс плагина есть в меню, но не открывается модальное окно или не работают кнопки, причина часто в том, что скрипты не подгружаются или подгружаются с ошибкой. Для проверки откройте вкладку Network и обновите страницу админки. Ищите 404, 403 и ошибки загрузки JS-файлов.
Если вы работаете с кастомной темой админки или плагином, который меняет интерфейс, полезно проверить, не отключается ли стандартная загрузка скриптов WordPress. В норме админка должна грузить свои assets без вмешательства темы.
Пример безопасной проверки через логирование
Если нужно понять, вызывается ли код на нужном экране, можно временно добавить логирование в плагин или в mu-plugin:
<?php
add_action('admin_init', function () {
if (!is_admin()) {
return;
}
$screen = function_exists('get_current_screen') ? get_current_screen() : null;
if ($screen) {
error_log('Current screen: ' . $screen->id);
}
});Так вы увидите, на каком экране реально находится WordPress, и сможете понять, не привязан ли код My Popup к другому slug страницы.
Сравнение подходов: плагин, код или отключение конфликта
| Подход | Когда подходит | Минусы |
|---|---|---|
| Отключить конфликтующий плагин | Если проблема появилась после установки/обновления другого плагина | Нужно время на поиск виновника |
| Исправить права доступа | Если плагин не виден только определённой роли | Требует понимания capabilities |
| Править код темы или MU-plugin | Если интерфейс скрыт кастомным кодом | Есть риск сломать админку ещё сильнее без теста на staging |
Проверка результата после внедрения
После исправлений не ограничивайтесь визуальной проверкой. Убедитесь, что проблема действительно ушла и не вернётся после обновления кэша или повторного входа в админку.
- Откройте админку в обычном окне и в режиме инкогнито.
- Проверьте доступ под нужной ролью пользователя.
- Посмотрите консоль браузера — новых ошибок быть не должно.
- Обновите страницу после очистки кэша и убедитесь, что интерфейс My Popup загружается стабильно.
- Если использовался staging, повторите проверку на боевом сайте только после подтверждения результата.
Частые ошибки и как их исправить
Плагин установлен, но не активирован
Бывает чаще, чем кажется, особенно после миграции сайта или восстановления из бэкапа. Проверьте список активных плагинов и убедитесь, что My Popup включён именно в этой среде.
Конфликт с плагином оптимизации
Если после включения минификации или объединения JS интерфейс ломается, исключите админку из оптимизации. Не пытайтесь лечить это дополнительной минификацией — в админке это обычно только ухудшает ситуацию.
Ограничение по роли пользователя
Если администратор всё видит, а редактор — нет, проблема почти наверняка в capabilities. Проверьте плагины управления ролями и кастомный код, который меняет доступ к меню.
Ошибки в стороннем JavaScript
Один сломанный скрипт на странице админки может остановить инициализацию интерфейса My Popup. В таких случаях нужно искать не сам плагин, а источник первой ошибки в консоли.
Что делать, если проблема повторяется после обновлений
Если My Popup перестаёт отображаться после обновления WordPress, темы или другого плагина, не откатывайте всё вслепую. Сначала зафиксируйте версию, на которой всё работало, и проверьте журнал изменений. Если есть staging, сравните поведение на копии сайта до и после обновления.
Для снижения риска держите под рукой резервную копию и не обновляйте сразу весь набор плагинов одновременно. Это особенно важно, когда на сайте есть оптимизация, кэш и кастомные роли: именно их сочетание чаще всего создаёт неочевидные конфликты.
Практический совет по безопасности и производительности
Не отключайте безопасность и кэш на всём сайте ради проверки одного плагина. Лучше временно исключить только админские страницы из оптимизации и проверить My Popup в изолированном сценарии. Если проблема в коде темы, вы быстрее найдёте её в staging, чем на живом сайте.
Если вам нужен более предсказуемый стек для работы с popup и технической оптимизацией, имеет смысл держать под рукой инструменты, которые не вмешиваются агрессивно в админку. Например, для чистки сайта и удаления дублей можно использовать Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wppopup.ru&utm_medium=article&utm_campaign=my-popup-ne-pokazyvaetsya-v-adminke-wordpress
Главная проверка здесь простая: если после исправления прав, отключения конфликтов и исключения админки из оптимизации My Popup стабильно открывается у нужной роли, значит, причина найдена. Если нет — остаётся смотреть конкретную ошибку в консоли и цепочку загрузки скриптов, а не гадать по симптомам.