Pasando variables a través de la estructura de enlace permanente

4

Tengo una página de WordPress a la que se puede acceder a través de / accommodation /.

Lo que quiero poder hacer es pasar un parámetro usando la URL, es decir, ir a / accommodation / value1 / cargaría la misma página que / accommodation / - pero aún mostrará / accommodation / value1 / en el navegador barra de direcciones.

Supongo que otra forma de decirlo sería decir que necesito poder acceder / alojamiento / agregando cualquier cosa que me guste al final de la URL, mientras conservo la URL que ingresé en la ventana del navegador.

Luego tengo algo de código en la plantilla de página que hace cosas diferentes según los valores pasados a la página.

Aunque podría usar una cadena de consulta, quiero evitar hacerlo para poder mantener las "URL bonitas".

Muchas gracias por cualquier ayuda / sugerencia.

    
pregunta gbuckingham89 16.02.2012 - 19:07

1 respuesta

4

¡Resuelto!

// Register the variables that will be used as parameters on the url
function add_my_var($public_query_vars) {
    $public_query_vars[] = 'extra_slug';
    return $public_query_vars;
}
add_filter('query_vars', 'add_my_var');

// Build the rewrite rules, for the extra parameter
function do_rewrite() {
    add_rewrite_rule('(accommodation)/[/]?([^/]*)$', 'index.php?pagename=accommodation&extra_slug=$matches[2]','top');
}
add_action('init', 'do_rewrite');

// The parameter is now accessible
get_query_var('extra_slug')
    
respondido por el gbuckingham89 17.02.2012 - 10:46

Lea otras preguntas en las etiquetas