Utilizarea variabilelor $_GET în URL?

6 feb. 2012, 19:13:22
Vizualizări: 27K
Voturi: 7

Am nevoie să generez un mesaj simplu de eroare pe o pagină prin transmiterea unei variabile prin URL.

URL-ul este structurat astfel:

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

Sunt sigur că rescrierea permalinks-urilor interferează, dar nu sunt sigur cum să rezolv această problemă.

1
Comentarii

Trebuie să știi cum să generezi folosind variabila $_GET sau cum să adaugi argumente de interogare în URL?

Mamaduka Mamaduka
6 feb. 2012 19:18:05
Toate răspunsurile la întrebare 2
3
13

Încearcă să adaugi variabila la array-ul WordPress de 'variabile de interogare recunoscute'...

add_filter('query_vars', 'my_register_query_vars' );
function my_register_query_vars( $qvars ){
    //Adaugă variabila de interogare la array-ul $qvars
    $qvars[] = 'my_error';
    return $qvars;
}

Apoi valoarea lui 'my_error' poate fi găsită prin get_query_var('my_error'). (Vezi Codex)

EDITARE

Conform comentariului lui Otto, este mai bine să faci:

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

Nu aș folosi acel filtru în special. Avem funcții pe care ar trebui să le folosești în schimb.

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

Interesant. De fapt nu contează prea mult, eu pur și simplu prefer să nu folosesc hook-uri adânci când unele de suprafață își fac treaba. :)

Otto Otto
6 feb. 2012 23:01:41

Eu folosesc întotdeauna add_rewrite_tag($tagname,$regex). Există vreo diferență?

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

Aceasta a fost singura modalitate prin care am reușit să fac asta să funcționeze

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 sept. 2012 20:53:23