Agora estou passando parâmetros para um modelo personalizado no seguinte formato
www.example.com/?pageid=12&rid=24&title=this-is-the-title
Eu criei duas tabelas. Então, eu preciso buscar dados e exibi-los nessas páginas.
Eu gostaria que ele usasse um formato de URL limpo, como:
www.example.com/pageid/12/rid/24/title/this-is-the-title
Alguém pode dizer como isso pode ser alcançado?
obrigado
url-rewriting
templates
page-template
htaccess
user7282
fonte
fonte
Respostas:
add_rewrite_rule()
permite transformar o URL bonito em variáveis.(\d*)
/rid/
ou/pageid/
([a-zA-Z0-9-]+
Aqui está uma classe para registrar a reescrita e manipular a solicitação se uma correspondência for encontrada.
ATUALIZAR
Eu encontrei uma maneira mais simples de lidar com isso.
http://example.com/pageid/333/rid/444/title/your-title-here/
Essa nova maneira utiliza
add_rewrite_tag
with_
para executar a consulta para o ID de uma página sem atrapalhar a consulta principal. No exemplo acima,333
apenas modificaria a consulta para procurar esse ID da postagempre_get_posts
. Você poderia facilmente modificartemplate_redirect
outemplate_include
.Para fazer referência a todos os parâmetros passados posteriormente:
REFERÊNCIA
fonte
Se você deseja uma solução simples, pode ser isso (não testou o código; portanto, pode não ser tão simples se não estiver funcionando ...) ou, pelo menos, dê uma dica do que você precisa fazer. Se você visitar http://thereforei.am/2011/10/28/advanced-taxonomy-queries-with-pretty-urls/ , encontrará um prêmio de bônus: Um gerador de regras de reescrita no artigo. Eu já usei isso antes, mas não em uma situação exatamente assim. Tente combinar essa função com algo como isto:
Se você não quiser usar a função eg_generate_rewrite_rules, precisará configurar as regras por conta própria. Você pode encontrar informações sobre como fazer isso nesse artigo.
Mais informações: http://codex.wordpress.org/Rewrite_API/add_rewrite_tag
fonte