Redirecionamento de login do WordPress de acordo com a function do usuário

Na minha aplicação, um usuário precisa do 1loglog e pode acessar o site.

Existem 3 funções de usuários diferentes em uso no meu site

  1. administrador
  2. editor
  3. contribuinte

O usuário pode fazer login do

http://example.com/wordpress/wp-login.php 

Nenhum login a partir de qualquer modelo de tema.

Encontrei este código, mas não funciona

 function my_login_redirect_contributors() { if ( current_user_can('contributor') ){ return 'url-to-redirect-to'; } } add_filter('login_redirect', 'my_login_redirect_contributors'); 

Nota: Eu não quero usar o plugin como Peter’s Login Redirect. Eu quero conseguir isso personalizando o código do núcleo wp com um filtro.

Solutions Collecting From Web of "Redirecionamento de login do WordPress de acordo com a function do usuário"

Você está usando o filtro errado . Se você tiver mais de um @param , então você deve indicar quando adiciona o filtro.

 function wpse40745_redirect_on_login( $redirect_to, isset( $_REQUEST['redirect_to'] ), $user ) { # uncomment the following line if it's not working and replace $user->roles[0] with something that works // echo '
'; print_r( $user ); echo '

'; exit; if ( in_array( $user->roles[0], array( 'contributer', 'whatever_other_role ) ) ) return home_url(); return $redirect_to; } add_filter( 'login_redirect', 'wpse40745_redirect_on_login', 20, 3 );