Utilizzare le variabili $_GET nell'URL?

6 feb 2012, 19:13:22
Visualizzazioni: 27K
Voti: 7

Ho bisogno di generare un semplice messaggio di errore su una pagina passando una variabile attraverso l'URL.

L'URL è strutturato nel seguente modo:

http://site.com/parent-category/category/?error=pause

Sono sicuro che sia la riscrittura dei permalink a interferire, ma non sono sicuro di come risolverlo.

1
Commenti

Hai bisogno di sapere come generare utilizzando la variabile $_GET, o come aggiungere argomenti di query nell'URL?

Mamaduka Mamaduka
6 feb 2012 19:18:05
Tutte le risposte alla domanda 2
3
13

Prova ad aggiungere la variabile all'array di 'variabili di query riconosciute' di WordPress...

add_filter('query_vars', 'my_register_query_vars' );
function my_register_query_vars( $qvars ){
    // Aggiungi la variabile di query all'array $qvars
    $qvars[] = 'my_error';
    return $qvars;
}

Quindi il valore di 'my_error' può essere trovato tramite get_query_var('my_error'). (Vedi Codex)

MODIFICA

Dal commento di Otto, è meglio fare:

add_action('init','add_my_error');
function add_my_error() { 
    global $wp; 
    $wp->add_query_var('my_error'); 
}
6 feb 2012 19:20:54
Commenti

Non userei quel filtro in particolare. Abbiamo delle funzioni apposite che dovresti usare invece.

add_action('init','add_my_error'); function add_my_error() { global $wp; $wp->add_query_var('my_error'); }

Otto Otto
6 feb 2012 22:49:30

Interessante. In realtà non ha molta importanza, preferisco semplicemente non usare hook profondi quando quelli superficiali sono sufficienti. :)

Otto Otto
6 feb 2012 23:01:41

Io uso sempre add_rewrite_tag($tagname,$regex). C'è qualche differenza?

Rob Vermeer Rob Vermeer
6 feb 2012 23:10:53
0

Questo è stato l'unico modo in cui sono riuscito a far funzionare questo codice

add_action('init','add_query_args');
function add_query_args()
{ 
    add_query_arg( 'error', 'pause' );
}

http://codex.wordpress.org/Function_Reference/add_query_arg

26 set 2012 20:53:23