whatsapp
keyboard_arrow_down Contatti

Sabato

19

Marzo 2022

Come fare redirect in WordPress senza plugin

Come fare redirect in WordPress senza plugin

  1. blog Come fare redirect in WordPress senza plugin
event_available
schedule

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.

Ti è piaciuto questo articolo?

favorite thumb_down
library_books

Leggi anche

Come inviare dati dei form con Ajax serialize() a php
Scopri
Come usare le chiavi API Google
Scopri
Come unire file Javascript e CSS in WordPress
Scopri

Contattami

perm_identity
alternate_email
phonelink_ring
message

Il tuo messaggio è stato inviato con successo!
Ti risponderemo a breve

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

message
perm_identity
alternate_email

keyboard_arrow_up