function SOFT_redirect(){ global $current_user,$pagenow; if ($pagenow == 'index.php') { if (in_array('subscriber', $current_user->roles)) { wp_redirect( admin_url('profile.php') ); } elseif (in_array('custom_role', $current_user->roles)) { wp_redirect( admin_url('edit.php?post_type=my_CPT') ); } exit(); } } add_action('admin_init','SOFT_redirect');
La funzione wp_redirect( $location, [$status =302] ) consente di redirigere verso uno specifico url specificando eventualmente un codice header di stato ( default 302: moved temporarily.
Nell’esempio di cui sopra, la funzione esclude la vista della dashboard dell’area admin per determinati ruoli utente: in particolare un utente con ruolo ‘custom_role’ viene reindirizzato all’elenco di post_type “my_CPT” mentre i “subscribers” vengono reindirizzati alla propria pagina di profilo.
Importante usare exit(); al termine della funzione
Scrivi un commento