Изменение URL регистрации на странице wp-login

26 дек. 2013 г., 07:29:58
Просмотры: 24.7K
Голосов: 2

Я пытаюсь изменить URL ссылки "register" на стандартной странице входа WordPress (domain.com/wp-login.php)

  1. Я хочу изменить URL на ссылке регистрации.

  2. когда пользователь переходит на domain.com/wp-login.php?action=register, я хочу перенаправить его на domain.com/register

Я добавил правило перенаправления, но оно не работает.

RedirectMatch 301 /wp-login.php?action=register$ http://domain.com/register/$1

Что я делаю не так?

Я просто хочу использовать свою страницу регистрации (domain.com/register/)

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

Поместите этот код в файл "functions.php" вашей темы. Замените ID страницы там, где указано [ЗАМЕНИТЕ НА ID ВАШЕЙ СТРАНИЦЫ].

/* начало  */ 
add_filter( 'register_url', 'custom_register_url' );
function custom_register_url( $register_url )
{
    $register_url = get_permalink( $register_page_id = [ЗАМЕНИТЕ НА ID ВАШЕЙ СТРАНИЦЫ] );
    return $register_url;
}
/* конец */
16 июл. 2014 г. 06:57:41
Комментарии

Добавьте пояснение о том, как этот код соответствует вопросу.

Mayeenul Islam Mayeenul Islam
16 июл. 2014 г. 07:08:52

Нет, это не работает. Я добавил ID записи, но при переходе на /wp-login перенаправления не происходит. В любом случае, спасибо.

pulla pulla
16 июл. 2014 г. 10:04:49

Это должно работать, если сделано правильно. Вы добавили числовое значение страницы, на которую нужно перенаправить? PS: вам не нужно редактировать или изменять что-либо в самом файле wp-login.php. Просто добавьте этот код в файл functions.php, и этого будет достаточно.

intec infosys intec infosys
19 июл. 2014 г. 13:59:02

Это работает. Спасибо!

karlosuccess karlosuccess
21 мая 2022 г. 01:15:40

Это, вероятно, очевидно для большинства, но не включайте квадратные скобки :)

David P David P
2 сент. 2023 г. 08:26:37
0

Код с сайта @bainternet.

function wpse127636_register_url($link){
    /*
        Изменяет URL регистрации в WordPress
    */
    return str_replace(site_url('wp-login.php?action=register', 'login'),site_url('register', 'login'),$link);
}
add_filter('register','wpse127636_register_url');

function wpse127636_fix_register_urls($url, $path, $orig_scheme){
    /*
        Хак для перезаписи URL регистрации через site_url     
        http://en.bainternet.info/2012/wordpress-easy-login-url-with-no-htaccess
    */
    if ($orig_scheme !== 'login')
        return $url;

    if ($path == 'wp-login.php?action=register')
        return site_url('register', 'login');

    return $url;
}
add_filter('site_url', 'wpse127636_fix_register_urls', 10, 3);
26 дек. 2013 г. 11:01:38
1

Используйте фильтр register_url

add_filter( 'register_url', 'change_my_register_url' );
    function change_my_register_url( $url ) {
        if( is_admin() ) {
            return $url;
        }
        return "/custom-register-url/";
    }
13 янв. 2022 г. 03:10:02
Комментарии

Почему исключение is_admin()? (Мне просто любопытно, возможно, это правильно)

Rup Rup
13 янв. 2022 г. 13:19:54