Intereting Posts
Как предотвратить появление апострофов и котировок в постоянных ссылках? Как мы можем ограничить доступ к определенной странице wordpress ко всему ip-адресу, кроме тех, которые мы разрешаем обычная запись single.php, отображаемая дважды активная ссылка для последнего сообщения на вертикальных вкладках Запуск сценария и таблицы стилей, не работающих Как обрабатывать бесполезные атрибуты в коротких кодах? MetaBox с редактором вместо textarea – html не сохранен Открыть пост-контент на странице архива в модульном поле с бутстрапом Добавление контента в таксономический обмен если инструкция для показанных изображений Является ли константная структура /% post_id% /% postname% быстрее или медленнее, чем просто /% postname%? Удалить & nbsp; в сообщении Позиция верхнего уровня заменяет другую запись Получить пользовательские классы в меню навигации WordPress WordPress с пользовательским запросом woocommerce

Могу ли я изменить ссылку регистрации по умолчанию (без htaccess)?

Я использую url как «wp-login.php? Action = register & role = patient» и «register_form» hook для добавления дополнительной формы ввода, которая зависит от таких URL:

add_action('register_form','add_extra_role_fields'); function add_extra_role_fields() { if (isset($_GET['role'])) { $user_type = $_GET['role']; } if (isset($user_type) && $user_type == "patient") [...] if (isset($user_type) && $user_type == "doctor") [...] 

Проблема : WordPress перенаправляет пользователя после проверки формы с ошибкой на http://example.com/wp-login.php?action=register вместо http://example.com/wp-login.php?action=register&role=patient и вся логика нарушена.

Вопрос : Может ли WordPress перенаправить пользователя на предыдущий url «? Action = register & role = doctor» (не по умолчанию «? Action = register»)?

Решение : Спасибо, Ян Фабри :).

 if ( isset($_REQUEST['role']) && ( ($_REQUEST['role'] == 'patient') OR ($_REQUEST['role'] == 'doctor') ) ) { add_filter( 'site_url', 'doctor_site_url', 10, 4 ); function doctor_site_url( $url, $path, $scheme, $blog_id ) { if ( 'login_post' == $scheme ) { $url .= '&role='.$_REQUEST['role']; } return $url; } } 

Solutions Collecting From Web of "Могу ли я изменить ссылку регистрации по умолчанию (без htaccess)?"

Если вы хотите сохранить эту информацию в $_GET , вам придется изменить URL-адрес параметра формы . Вы можете сделать это, подключившись к site_url :

 add_filter( 'site_url', 'wpse18418_site_url', 10, 4 ); function wpse18418_site_url( $url, $path, $scheme, $blog_id ) { if ( 'login_post' == $scheme ) { $url .= '&role=doctor'; // Or do this dynamically } return $url; } 

Но вместо того, чтобы всегда смотреть в $_GET , может быть решение сохранить поле role в скрытом поле и вместо этого проверить $_REQUEST – оно будет содержать как $_GET и $_POST .