Redirection après connexion depuis les modules Woocommerce

Lorsqu’on se connecte depuis un module Woocommerce (réinitialisation du mot de passe après achat, par exemple), on est automatiquement redirigé vers la page « mon compte » de Woocommerce. Ce qui peut nuire au confort de l’utilisateur, voire (dans le cas de Cothurnes) être contre productif.

Voici comment changer la redirection en fonction des rôles des users qui se connectent:

//**************************** Rediriger après connexion via WOOCOMMERCE
/**
* Redirect users to custom URL based on their role after login
*
* @param string $redirect
* @param object $user
* @return string
*/
function wc_custom_user_redirect( $redirect, $user ) {
  // Get the first of all the roles assigned to the user
  

	
  $role = $user->roles[0];
  $dashboard = admin_url();
$user_ID = $user->ID;
  $myaccount = get_permalink( wc_get_page_id( 'shop' ) );
  $redirection_url1 = home_url("/?author=" . $user_ID . "/");
  if( $role == 'administrator' ) {
    //Redirect administrators to the dashboard
    $redirect = $dashboard;
  } elseif ( $role == 'shop-manager' ) {
    //Redirect shop managers to the dashboard
    $redirect = $dashboard;
  } elseif ( $role == 'editor' ) {
    //Redirect editors to the dashboard
    $redirect = $dashboard;
  } elseif ( $role == 'author' ) {
    //Redirect authors to the dashboard
    $redirect = $redirection_url1;
  } elseif ( $role == 'customer' || $role == 'subscriber' ) {
    //Redirect customers and subscribers to the "My Account" page
    $redirect = $myaccount;
  } else {
    //Redirect any other role to the previous visited page or, if not available, to the home
    $redirect = wp_get_referer() ? wp_get_referer() : home_url();
  }
  return $redirect;
}
add_filter( 'woocommerce_login_redirect', 'wc_custom_user_redirect', 10, 2 ); 
	  
	  
	  
	  

A noter : pour Cothurnes (exemple ci-dessus) les auteurs sont redirigés vers leur page.