Como imprimir variables ​​de seqüência de consulta redirecionadas para a página?

Eu tenho um redirecionamento básico configurado:

function example_add_rewrite_rules() { $year = '(\d{4})?'; $make = '([az]{1,20})'; $model = '(.+)'; add_rewrite_rule( 'c/'.$year.'/?'.$make.'/'.$model.'/?$', 'index.php?page_id=46&year=$matches[1]&make=$matches[2]&model=$matches[3]', 'top' ); } add_action( 'init', 'example_add_rewrite_rules' ); 

Minha esperança é que, sempre que o usuário atinja a página com um URL de ../c/2015/ford/f150, esse URL é armazenado em uma seqüência de consulta.

Então, espero que o usuário veja isso: “/ c / 2015 / ford / f150”

Enquanto eu vejo isso: “? Page_id = 46 & year = 2015 & make = ford & model = f150”

Não sei se está funcionando ou não. Se eu digitar / c / 2015 / ford / f150 redirectá para a página correta / page_id. Mas não consigo descobrir a vida de mim como imprimir essas variables ​​de consulta na página, pelo que posso ver pelo menos que a seqüência de consulta está configurada corretamente e tem variables ​​armazenadas no ano, na marca e no modelo.

Resumo: Eu fiz algo errado no código acima? Caso contrário, como faço para imprimir as variables ​​da string de consulta na página?

Além disso: estou pulando em um oceano de PHP e ainda estou tentando aprender a nadar. Se eu anotei algo, me perdoe e me corrija, pois não sei o que faço.

Solutions Collecting From Web of "Como imprimir variables ​​de seqüência de consulta redirecionadas para a página?"

Primeiro, o year já é uma varredura de consulta do WordPress usada para arquivos baseados em data, você deve mudar isso para algo exclusivo para evitar possíveis conflitos.

Para usar seus próprios comandos de consulta dentro de rewrite regras, você precisa adicioná-los à lista de vars conhecidos:

 function wpd_query_vars( $qvars ) { $qvars[] = 'my_year'; $qvars[] = 'make'; $qvars[] = 'model'; return $qvars; } add_filter( 'query_vars', 'wpd_query_vars' , 10, 1 ); 

Então, você pode exibir seus valores no modelo com get_query_var :

 echo get_query_var( 'model' );