Sabato
19
Marzo 2022
Come fare redirect in WordPress senza utilizzare un plugin? Puoi semplicemente utilizzare la funzione wp_redirect() fornita dal core di WP inserendola nel file functions.php del tuo tema child o nei file del tuo plugin custom.
A questa funzione puoi assegnare anche il tipo di redirect da inserire nella tua pagina, specificando il numero nei parametri.
Vediamo subito come funziona partendo dai parametri che puoi usare:
Questa funzione contiene 3 parametri:
La funzione completa è la seguente:
wp_redirect(‘https://www.il-mio-sito.it/pagina-di-destinazione’, 301, ‘WodPress’);
Per utilizzare questa funzione dovrai aprire il file functions.php del tuo tema child e inserire questa porzione di codice.
if (is_page(9)) {
wp_redirect(‘https://www.il-mio-sito.it/pagina-di-destinazione’);
}
Questo codice verifica se l’utente si trova nella pagina con ID = 9 e lo reindirizza verso un url a tua scelta.
Puoi combinare questa funzione come preferisci con le altre integrate di WordPress, vediamo alcuni esempi
Redirect per utenti loggati con un determinato ruolo
add_action('init', function() { //risolvo l’errore if is_user_logged_in()
if (is_user_logged_in() && is_admin()) { //solo se si trova nel backend
$user = wp_get_current_user();
if ($user->roles[0] == 'Subscriber') {
wp_redirect(home_url());
exit;
}
}
});
Se questa funzione genera l’errore is_user_logged_in() puoi risolverlo seguendo questa guida.
Redirect al post genitore
wp_redirect( get_permalink( $post->post_parent, 301 ) ); exit;
Redirect da una pagina con errore 404 alla home
if (is_404()) {
wp_redirect(home_url());
}
Redirect dalla schermata di login ad una personalizzata
if ($GLOBALS['pagenow'] === 'wp-login.php') {
wp_redirect(home_url().”custom-login-page”);
}
Ti lascio la guida alla documentazione ufficiale di WordPress per maggiori dettagli, disponibile a questo link.
Scrivi un commento