как перенаправить пользователей на кастомную страницу входа при клике на "войти, чтобы ответить"?
Я разрабатываю свой сайт на WordPress и создал собственную страницу входа. Но когда неавторизованный пользователь видит комментарий к записи с текстом "Войти, чтобы ответить", при клике на "Войти" происходит перенаправление на стандартную страницу wp-login.php. Как сделать редирект на мою кастомную страницу входа при клике на "Войти, чтобы ответить" в WordPress вместо wp-login.php?

Вам нужно перенаправлять каждый раз, когда WordPress ищет wp-login.php
.
Вы можете сделать это, добавив следующий код в файл functions.php
вашей активной темы.
function redirect_login_page(){
// Сохраняем для проверки, если эта страница равна wp-login.php
$page_viewed = basename( $_SERVER['REQUEST_URI'] );
// Постоянная ссылка на пользовательскую страницу входа
$login_page = get_permalink( 'CUSTOM_LOGIN_PAGE_ID' );
if( $page_viewed == "wp-login.php" ) {
wp_redirect( $login_page );
exit();
}
}
add_action( 'init','redirect_login_page' );

спасибо за вашу помощь. У меня к вам один вопрос. Я переименовал wp-login.php с помощью плагина. Должен ли я использовать это переименованное имя в коде или оставить wp-login?

Пожалуйста, никогда не вносите изменения в основные файлы, так как вы потеряете все эти изменения при обновлении, а wp-login.php
является основным файлом

Нет, я сделал это с помощью плагина. Когда я деактивирую плагин, он возвращается к исходному состоянию. Пожалуйста, подскажите, что использовать - переименованный wp-login.php или исходный wp-login.php.

Я не совсем понимаю, что вы имеете в виду, но главное правило — стараться по возможности не изменять файлы ядра.

Я всё ещё не понимаю, в чём путаница — вы вставили тот же самый код, который я привёл в ответе.

Можно ли сделать так: function redirect_login_page(){ // Store for checking if this page equals wp-login.php $page_viewed = basename( $_SERVER['REQUEST_URI'] ); // permalink to the custom login page $login_page = get_permalink( 'CUSTOM_LOGIN_PAGE_ID' ); if( $page_viewed == "mylogin" ) { wp_redirect( $login_page ); exit(); } } add_action( 'init','redirect_login_page' );
Где 'mylogin' — это моё переименованное значение. Извините, предыдущий вариант был ошибочным.
