Intereting Posts
Ссылка на страницу поиска без параметра поиска Создание тем для WordPress Admin Классы WordPress удаляются при использовании пользовательского ходока Включение сжатия в файле .htaccess вызывает 500 внутренних ошибок Обратный вызов для wp.autosave.server.triggerSave (); Переместите боковую панель виджета в Внешний вид-> Виджеты Woocommerce | Пользовательская страница для управления товарами на заказ Условия таксономии стиля Индивидуально Указатели указателей на пользовательский тип сообщения Выбрать постоянную ссылку для каждой должности? Добавление colorbutton в диалоге tinymce с текущим api Вредоносная загрузка файла window.send_to_editor выдает неисчерпаемую строковую литералную ошибку при добавлении изображения с описанием нескольких строк Возврат XML метаданных сообщения Автоматически устанавливать полный размер для всех моих изображений во всех моих сообщениях и на странице?

Могу ли я изменить ссылку регистрации по умолчанию (без 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 .