Passando variáveis pela estrutura do permalink

4

Eu tenho uma página do WordPress que pode ser acessada via / accommodation /.

O que eu quero fazer é passar um parâmetro usando o URL - por exemplo, indo para / accommodation / value1 / carregar a mesma página que / accommodation / -, mas ainda mostrar o / accommodation / value1 / no navegador barra de endereços.

Acho que outra maneira de dizer isso seria dizer que preciso acessar / acomodação / adicionando qualquer coisa que eu goste ao final do URL, mantendo o URL que inseri na janela do navegador.

Eu, então, tenho um código no modelo de página que faz coisas diferentes com base nos valores passados para a página.

Embora eu possa usar uma string de consulta, eu quero evitar fazer isso para que eu possa manter as "URLs bonitas".

Muito obrigado por qualquer ajuda / sugestão.

    
por gbuckingham89 16.02.2012 / 19:07

1 resposta

4

Resolvido!

// 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')
    
por gbuckingham89 17.02.2012 / 10:46