email

Come fare redirect in WordPress senza plugin

Ti trovi in:
  1. blog Come fare redirect in WordPress senza plugin

Pubblicato il , aggiornato il 1 Novembre 2021

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:

code

Parametri della funzione wp_redirect() di WordPress

Questa funzione contiene 3 parametri:

  • $location è l’url della pagina di destinazione dopo il redirect. Questo parametro è obbligatorio e contiene una stringa di testo contenente l’url.
  • $status (opzionale) è il tipo di redirect da inserire. Questo campo contiene un valore numerico intero (int) e di default è settato su 302, cioè “Moved Temporarily”.
  • $x_redirect_by è l’applicazione che genera il redirect, questo parametro accetta un valore di tipo stringa e di default è ‘WordPress’.

La funzione completa è la seguente:

wp_redirect(‘https://www.il-mio-sito.it/pagina-di-destinazione’, 301, ‘WodPress’);
code

Come fare redirect in WordPress senza plugin

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.

code

Esempi di redirect in WordPress

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.

Contattaci!

Preventivo sempre gratuito

Fabio Fresia, fondatore e titolare di Eureka Web di Asti

perm_device_information366 - 400 9542       emailinfo@agenziawebeureka.it

perm_identity
alternate_email
phonelink_ring
message