2012-07-11 12 views
8

Estoy haciendo un plugin de WordPress. He utilizado add_query_string() dentro de los anclajes para cargar contenido según el enlace en el que el usuario ha hecho clic. Ahora necesito saber la mejor manera de obtener el valor del parámetro en el URI actual.Obtener el valor del parámetro querystring en wordpress

Probablemente sea una pregunta bastante básica y estúpida, pero soy nuevo en la programación, así que lamento si malinterpreto algunos términos.

Este es el código:

 if (current_user_can('manage_options')) { 
      echo (
       '<div> 
        <ul> 
         <li><a href="'.add_query_arg('adminoption', 1).'">option 1</a></li> 
         <li><a href="'.add_query_arg('adminoption', 2).'">option 2</a></li> 
        </ul> 
       </div>' 
      ); 

      // if adminoption == 1 load content A 
      // if adminoption == 2 load content B 

     } 

Respuesta

10

Creo que está pidiendo get_query_var() función. En su caso, debe usar get_query_var ('adminoption'). creo que sirve

+1

Gracias David. Buena sugerencia, pero eso volvió en blanco para mí. La verdad es que ni siquiera sé si debería usar add_query_arg(). Todo lo que tengo que hacer es mostrar el contenido en la misma página, dependiendo de la cadena de consulta. Podría simplemente crear una página para cada enlace, pero esa no es una opción, ya que no estaría aprendiendo nada, y aprender es la razón principal por la que me estoy metiendo con la creación de un complemento. – rzb

+2

¿Cómo es tu URL después de hacer clic en un enlace? ¿Es algo así como www.yoursite.com/?adminoption=1 Solo para saber si su problema comienza en add_query_arg(). De todos modos, puede probar con el antiguo php $ _GET ['adminoption']. –

+1

Sí, la URL después de hacer clic en un enlace está bien. Y $ _GET ['adminoption'] funcionó a las mil maravillas. ¡Gracias un montón! ¿Debo preocuparme por la seguridad mientras uso $ _GET? – rzb

8

El aumento de respuesta oculta en los comentarios de David Carrus:

De todos modos se puede tratar con el viejo php $ _GET [ 'adminoption'].

6

Para obtener un vars de la cadena de consulta, puede utilizar el método $_GET['key'] de PHP.

Dependiendo de lo que esté haciendo, también puede usar get_query_var('key'), this function works with parameters accepted by the WP_Query class (cat, author, etc).

Si desea utilizar vars de consulta personalizados con esta función, necesita usar el filtro query_vars para modificar la lista de variables de consulta soportadas, puede leer cómo hacerlo en la documentación vinculada anteriormente.

10

get_query_var ('adminoption') solo funciona con vars estándar o registrados. Así que para Wordpress no estándar vars que se necesita para registrarlo por primera vez en el archivo functions.php:

function rj_add_query_vars_filter($vars){ 
    $vars[] = "adminoption"; 
    return $vars; 
} 
add_filter('query_vars', 'rj_add_query_vars_filter'); 

get_query_var('adminoption'); 

darse cuenta de la pregunta es viejo, pero creo que sirve a nadie.

+0

Nice solutions. Totalmente bien para mí^_^ –

+0

¿A qué agregas "grupo" a la matriz '$ vars []'? ¿No debería ser '$ vars [] =" adminoption ";'? –

Cuestiones relacionadas