How to User controlled optional wordpress login redirect

Do you require a more complex way to redirect users around your website when they login. This is a great method to use if you want to give your subscribers the ability to choose the page they are redirected to. You could provide visitors the option to redirect directly to their profile page or a custom settings page for your wordpress site. Adding this snippet to the functions.php of your wordpress theme will add a select menu to the login screen that will allow your users to choose where they would like to be redirected.

user-controlled-optional-login-redirect-screenshot

<?php
// Fields for redirect
function custom_login_fields() {
?>
        <p>
                <label>
                        <strong>Choose your location: </strong>
                        <select name="login_location">
                                <option value="">Select …</option>
                                <option value="<?php bloginfo('url'); ?>#banking">Banking</option>
                                <option value="<?php bloginfo('url'); ?>#insurance">Insurance</option>
                                <option value="<?php echo get_permalink(2); ?>">Securities</option>
                        </select>
                </label>
        </p><br/>
<?php
}
// Redirect function
function location_redirect() {
        $location = $_POST['login_location'];
        wp_safe_redirect($location);
        exit();
}
// Add fields to the login form
add_action('login_form','custom_login_fields');
// Make sure the redirect happens only if your fields are submitted
if ( (isset($_GET['action']) && $_GET['action'] != 'logout') || (isset($_POST['login_location']) && !empty($_POST['login_location'])) )
        add_filter('login_redirect', 'location_redirect', 10, 3);
?>

You may also like...