Как убрать админ-панель сайта WordPress при входе из соцсетей?
Привожу пример кода, действующего для версии WordPress 5.2.2 включительно. Код убирает функцию отображения консоли сайта для всех, кроме администратора.
Что вам понадобится для использования кода: доступ к сайту WordPress и functions.php.
Functions.php в нашем случае будет использоваться для добавления новой функции и расширения возможностей WordPress. В целом, functions.php предоставляет гораздо больше возможностей, например, маскировку отдельных функций в административной панели, включение или выключение миниатюр для статей и т.д.
Файл functions.php находится в папке с вашей темой. Вы можете найти его как через файловый менеджер хостинга, так и в настройках темы в консоли WordPress. Хотя каждая тема, установленная на вашем сайте, имеет свой собственный файл functions.php, только код активной темы будет исполняться.
Если в вашей теме нет файла functions.php, вы можете создать простой текстовый файл с именем functions.php и добавить его в каталог вашей темы. Будьте осторожны, используя данный метод! Заранее создайте резервную копию файлов и базы до применения любого кода, чтобы избежать потери данных!
Дочерние темы могут иметь свои собственные файлы functions.php, которые можно использовать для создания функций поверх или для полной замены файла в каталоге родительской темы.
В данном примере я не буду рассказывать о создании и настройке functions.php с нуля, рассказываю лишь про модификацию уже существующего файла.
Подробнее о том, где искать functions.php
- Если вы используете файловый менеджер: название вашего домена/public_html/wp-content/themes/наименование вашей темы/functions.php;
- Если вы используете консоль: заходите в панель «Внешний вид», ищите пункт «Редактор тем», нажимаете, в боковой панели ищите надпись «Файлы темы» и ищите в списке functions.php
Обязательно проверьте, чтобы вы редактировали ту тему, которую используете прямо сейчас! Про создание резервной копии файлов и БД также постарайтесь не забывать!
Чтобы убрать административную панель для всех пользователей сайта WordPress, кроме администратора, используйте следующий код:
/* Отключение административной панели для всех, кроме администратора. */
if (!current_user_can('administrator')):
show_admin_bar(false);
endif;
Код вставляется в самый конец functions.php, либо перед закрывающим тегом <?php (ориентируйтесь для начала на первое). После добавления кода нажимаете «Обновить файл» (в самом низу панели, сразу после кода). Если вы всё сделали правильно, появится надпись «Файл успешно изменён».
Если вы используете кэширующие плагины, после внесения изменений обязательно очистите кэш! После этого тестируйте результат, для этого можете создать учётную запись в любой из используемых для входа социальных сетей.
Приведу пример тестового входа с помощью Chrome. Регистрируюсь на сайте через Google. Без изменения шаблона — консоль видна, с изменением — нет:
Зачем проверять последствия самостоятельно?
Во-первых, вы сможете легко протестировать изменения на сайте: будет ли видна административная панель для пользователя, проверить различные уровни доступа (назначить в WP), посмотреть, нормально ли функционируют комментарии на сайте.
Во-вторых, вы сможете убедиться, что нет никаких иных проблем. Не представляю, что за сложности могут возникнуть, но лучше тестировать все изменения в то время, когда на сайте посещаемость меньше всего.
Важный нюанс: в отдельных случаях при обновлении тем WordPress может слетать пользовательский код. С моей темой подобного не случалось, но на случай, если такое произойдёт — скопируйте код в отдельный документ или добавьте эту статью в закладки.
Понравилась статья? Делитесь публикацией с друзьями, пишите комментарии, подписывайтесь на Telegram, Boosty и другие страницы, чтобы первыми видеть всё самое интересное!
Читайте также:
- Как удалить featured images из AMP страниц WordPress?
Один комментарий
Ангелина
Спасибо огромное, ты меня спас!