Add redirect_to and associated filters to registration and password recovery. fixes #12282
git-svn-id: http://svn.automattic.com/wordpress/trunk@13465 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
d662f07784
commit
640158f15b
19
wp-login.php
19
wp-login.php
|
@ -359,11 +359,8 @@ case 'logout' :
|
|||
check_admin_referer('log-out');
|
||||
wp_logout();
|
||||
|
||||
$redirect_to = 'wp-login.php?loggedout=true';
|
||||
if ( isset( $_REQUEST['redirect_to'] ) )
|
||||
$redirect_to = $_REQUEST['redirect_to'];
|
||||
|
||||
wp_safe_redirect($redirect_to);
|
||||
$redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : 'wp-login.php?loggedout=true';
|
||||
wp_safe_redirect( $redirect_to );
|
||||
exit();
|
||||
|
||||
break;
|
||||
|
@ -373,12 +370,14 @@ case 'retrievepassword' :
|
|||
if ( $http_post ) {
|
||||
$errors = retrieve_password();
|
||||
if ( !is_wp_error($errors) ) {
|
||||
wp_redirect('wp-login.php?checkemail=confirm');
|
||||
$redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : 'wp-login.php?checkemail=confirm';
|
||||
wp_safe_redirect( $redirect_to );
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset($_GET['error']) && 'invalidkey' == $_GET['error'] ) $errors->add('invalidkey', __('Sorry, that key does not appear to be valid.'));
|
||||
$redirect_to = apply_filters( 'lostpassword_redirect', !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '' );
|
||||
|
||||
do_action('lost_password');
|
||||
login_header(__('Lost Password'), '<p class="message">' . __('Please enter your username or e-mail address. You will receive a new password via e-mail.') . '</p>', $errors);
|
||||
|
@ -393,6 +392,7 @@ case 'retrievepassword' :
|
|||
<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr($user_login); ?>" size="20" tabindex="10" /></label>
|
||||
</p>
|
||||
<?php do_action('lostpassword_form'); ?>
|
||||
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
|
||||
<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="<?php esc_attr_e('Get New Password'); ?>" tabindex="100" /></p>
|
||||
</form>
|
||||
|
||||
|
@ -434,7 +434,7 @@ break;
|
|||
|
||||
case 'register' :
|
||||
if ( is_multisite() ) {
|
||||
// WPMU doesn't use this
|
||||
// Multisite uses wp-signup.php
|
||||
wp_redirect( apply_filters( 'wp_signup_location', get_bloginfo('wpurl') . '/wp-signup.php' ) );
|
||||
exit;
|
||||
}
|
||||
|
@ -453,11 +453,13 @@ case 'register' :
|
|||
$user_email = $_POST['user_email'];
|
||||
$errors = register_new_user($user_login, $user_email);
|
||||
if ( !is_wp_error($errors) ) {
|
||||
wp_redirect('wp-login.php?checkemail=registered');
|
||||
$redirect_to = !empty( $_POST['redirect_to'] ) ? $_POST['redirect_to'] : 'wp-login.php?checkemail=registered';
|
||||
wp_safe_redirect( $redirect_to );
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
$redirect_to = apply_filters( 'registration_redirect', !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '' );
|
||||
login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site') . '</p>', $errors);
|
||||
?>
|
||||
|
||||
|
@ -473,6 +475,7 @@ case 'register' :
|
|||
<?php do_action('register_form'); ?>
|
||||
<p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p>
|
||||
<br class="clear" />
|
||||
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
|
||||
<p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="<?php esc_attr_e('Register'); ?>" tabindex="100" /></p>
|
||||
</form>
|
||||
|
||||
|
|
Loading…
Reference in New Issue