¿Cómo usar variables $_GET en la URL?

6 feb 2012, 19:13:22
Vistas: 27K
Votos: 7

Necesito generar un mensaje de error simple en una página pasando una variable a través de la URL.

La URL está estructurada de la siguiente manera:

http://site.com/categoria-padre/categoria/?error=pause

Estoy seguro de que es la reescritura de enlaces permanentes la que está interfiriendo, pero no estoy seguro de cómo resolverlo.

1
Comentarios

¿Necesitas saber cómo generar usando la variable $_GET, o cómo agregar argumentos de consulta en la URL?

Mamaduka Mamaduka
6 feb 2012 19:18:05
Todas las respuestas a la pregunta 2
3
13

Intenta agregar la variable al array de 'variables de consulta reconocidas' de WordPress...

add_filter('query_vars', 'my_register_query_vars' );
function my_register_query_vars( $qvars ){
    //Agrega variable de consulta al array $qvars
    $qvars[] = 'my_error';
    return $qvars;
}

Entonces el valor de 'my_error' puede ser encontrado vía get_query_var('my_error'). (Ver Codex)

EDITADO

Según el comentario de Otto, es mejor hacer:

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

No usaría ese filtro en particular. Tenemos funciones que deberías usar en su lugar.

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

Genial. En realidad no importa mucho, simplemente prefiero no usar hooks profundos cuando unos más superficiales pueden hacer el trabajo. :)

Otto Otto
6 feb 2012 23:01:41

Siempre uso add_rewrite_tag($tagname,$regex). ¿Alguna diferencia?

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

Esta fue la única forma en que pude hacer que esto funcionara

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