TransWikia.com

Redirect Admin User in Dashboard

WordPress Development Asked by plumwd on January 5, 2021

I am currently trying to setup a redirect so that my admin users are redirected to a page other than the dashboard within the wordpress administrator interface.

If I leave out my conditional, the redirect works, but then it also redirects non-administrator users as well and I don’t want this.

Here is the code I have within functions.php

add_filter('login_redirect', 'dashboard_redirect');
function dashboard_redirect($url) {
  global $current_user;
  get_currentuserinfo();
  $level = (int) $current_user->wp_user_level;

  if ( $level > 10  ) {
    $url = 'wp-admin/edit.php';
  }

  return $url;
}     

4 Answers

If you want to redirect to another page any time they try to access the dashboard, and not just after login, use something like this:

add_action( 'current_screen', function() {
    $screen = get_current_screen();
    if ( isset( $screen->id ) && $screen->id == 'dashboard' ) {
        wp_redirect( admin_url( 'edit.php?post_type=my-post-type' ) );
        exit();
    }
} );

Answered by Gavin on January 5, 2021

Yan also add this simple action to the 'login_form' (see this site for more detail).
For example, to redirect to dashboard, you can use:

add_action('login_form', 'redirect_after_login');
function redirect_after_login() {
    global $redirect_to;
    if (!isset($_GET['redirect_to'])) {
        $redirect_to = get_option('siteurl') . '/wp-admin/index.php';
    }
}

Answered by Gregoire on January 5, 2021

You should not use Userlevels. Userlevels have been replaced in WP 2.0 and have been officially deprecated since 3.0

add_filter( 'login_redirect', 'dashboard_redirect' );
function dashboard_redirect( $url ) {
    if ( current_user_can( 'manage_options' ) ) {
         $url = esc_url( admin_url( 'edit.php' ) );
    }

    return $url;
}    

Will do what you want.

Answered by Johannes Pille on January 5, 2021

Try wrapping the function with this current_user condition:

if (current_user_can('administrator')) {
// Your Redirect Code Here
}

Answered by Jeremy Jared on January 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP