Есть ли способ предотвратить доступ посетителей, вошедших в систему или нет mysite.com/wp-login.php
?
У меня есть отдельная форма входа в систему, и это все, что нам нужно. Я знаю, что могу изменить стиль сгенерированной формы, wp-login
но я бы предпочел вообще не иметь с ней дело. Я пробовал различные фильтры и хуки, и я не могу заставить его перенаправить. Я также попытался с помощью .htaccess
перенаправления, и я обнаружил, что это работает, но затем он препятствует работе моей пользовательской формы входа / выхода.
Идеи?
wp-login-form
jchwebdev
источник
источник
Ответы:
После нахождения этого вопроса и проверки нескольких ответов ниже приведена «исправленная» версия того, что я использую в производственной среде.
Эта версия не генерирует никаких уведомлений / ошибок, а также позволяет сбрасывать пароль для работы:
источник
echo "HERE";
внутрь функции? Это эхо?$_GET['action']
для меня пусто. Форма публикуется/wp-login.php
(без каких-либо переменных GET в URL-адресе), и, глядя на источник, нет даже имени с указанием путaction
, поэтому даже$_REQUEST['action']
он пуст.Попробуйте это в functions.php вашей темы
источник
Добавьте переменную GET для действия выхода из системы, и она работает нормально.
источник
Я уже давно использую плагин WordPress Rename wp-login.php .
Это позволяет вам переключиться
wp-login.php
на любой другой путь. У меня были боты, которые хлопали мои страницы входа, и теперь я получаю ноль хитов.источник
WP-login обрабатывает вход в систему, выход из системы, регистрацию, сброс и восстановление пароля. Предполагая, что вы хотите изменить интерфейсную страницу входа. Вы можете смело использовать следующий код:
Этот фрагмент кода будет:
источник
home_url()
уже добавляет ведущую косую черту, так что в этом нет необходимости. Также$pagenow
(а) глобальный, который присутствует только на администратора (и, возможно, логин) и (б) следует заменитьget_current_screen()
проверки свойств.Это перенаправит на / login вместо скверной формы wp-login.
источник
Если вы намереваетесь защитить
wp-login.php
от посторонних лиц, даже не видящих его, самый простой и эффективный способ сделать это - получить доступ (базовую авторизацию) для доступаwp-login.php
.В Apache аутентификация осуществляется через комбинацию htaccess и файла паролей . В первый раз, когда в сеансе браузера кто-то пытается получить доступ,
wp-login.php
ему будет предложено ввести имя пользователя и пароль (до входа в WordPress).Чтобы упростить задачу, это имя пользователя и пароль могут быть одинаковыми для всех пользователей, которым вы хотите предоставить доступ
wp-login.php
, поскольку им все равно придется вводить свой логин WordPress после успешного прохождения первого диалогового окна авторизации.источник
Замените
$pageid
на страницу, на которую вы хотите перенаправить пользователейисточник
Пример моей пользовательской страницы входа. Сохранение login.php и внесение кода
в
functions.php
источник