Querystring parâmetro se perdendo na regra Rewrite
-
-
Como vocêestá recuperando oparâmetroem seumodelo depágina?Talvez a questãoesteja lá.How are you retrieving the parameter in you page template? Perhaps the issue is there.
- 0
- 2011-08-22
- montrealist
-
Tem certeza de que é algo com a reescrita?E algoem single-book.php?Como vocêestá recebendo a variável cartanesse arquivo?Are you sure it's something with the rewrite? And something in single-book.php? How are you getting the letter variable in that file?
- 0
- 2011-08-22
- chrisguitarguy
-
@dalbaeb Ah,isso deveriater sidonopost original.Eueditei.@dalbaeb Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
@Christopherdavis Ah,isso deveriater sidonopost original.Eueditei.@ChristopherDavis Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
1 responda
- votos
-
- 2011-08-22
Eu acho que éprovavelmente o seu códigofront-end que é oproblema.
Tenteisto:
<?php if( $letter = get_query_var( 'letter' ) ) { echo 'Current Letter: ' . $letter; } else { echo 'Current Letter: All'; }
I think it's probably your front end code that's the problem.
Try this:
<?php if( $letter = get_query_var( 'letter' ) ) { echo 'Current Letter: ' . $letter; } else { echo 'Current Letter: All'; }
-
Não.): O URL ainda acaba como `/livros/o-dicionário`e tudo (agora 3)maneiras depuxar o QS varestão vazios.Nope. ): The url still ends up as `/books/the-dictionary` and all (now 3) ways of pulling the qs var are empty.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Isso é umaespécie de umtiro longo,mas substitua suas duasprimeirasfunçõesem `Functions.php` (`my_init`e `add_books_rewrite`) comisto: http://pastie.org/2411828e exclua seu add_filter ('init'...) linha.Em seguida,tente lavarmanualmente suas regras de reescritaindopara suapágina de configurações de Permalinkse bater salvo.This is sort of a long shot, but replace your first two functions in `functions.php` (`my_init` & `add_books_rewrite`) with this: http://pastie.org/2411828 and delete your add_filter('init' ...) line. Then try manually flushing your rewrite rules by going to your permalinks settings page and hitting save.
- 0
- 2011-08-22
- chrisguitarguy
-
E vocêpode querertentarexcluir o cifrãonofinal do seu regex "add_rewrite_rule"também.And you may want to try deleting the dollar sign at the end of your `add_rewrite_rule` regex as well.
- 0
- 2011-08-22
- chrisguitarguy
-
Então você acha que o analisador de reescritaindicando que as coisasestão ok é um arenque vermelho?Hmm,tentará.So you think the Rewrite Analyzer indicating things are ok is a red herring? Hmm, will try.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Sim ...nenhumamudança.Yeah...no change.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Acabei de acharestranho que o WPestá redirecionando o URL -provavelmente algo a ver com a reescrita canônica.Quetal usar add_rewrite_endpoint: http://codex.wordpress.org/rewrite_api/add_rewrite_endpoint 'add_rewrite_endpoint (' letra ',ep_permalink); `.Useissoem vez de add_rewrite_rulee veja o que aconteceI just find it weird that WP is redirecting the URL -- probably something to do with the canonical rewriting. What about using add_rewrite_endpoint: http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint( 'letter', EP_PERMALINK );`. Use that instead of add_rewrite_rule and see what happens
- 0
- 2011-08-22
- chrisguitarguy
Eu adicionei com sucesso umtipo depostagempersonalizadoe aestrutura de Permalinkfuncionamuitobem. Então,porexemplo,eutenho umtipo depostagempersonalizado
livros
,e opermalinkpara um livro é/livros/o-dicionário
.Meu
Look.php Página Modelo aceita umparâmetro
letra
parapersonalizar o conteúdoexibidonapágina. Eugostaria depoder vincular aisso como/livro/the-dictionary/q
.Adicionei o seguintepara o arquivo Functions.php domeutema:
Demorou algumastentativas com o uso do código de descarga acima,indomanualmentepara apágina de configurações de Permalinke economizandoe corrigindoerrosestúpidosno regex,maseventualmenteeufui capaz de verificar se a reescritafoi adicionada corretamente usando Jan Fabry's fabuloso Rewrite analisadorplugin .
Então,daquieu acho que é uma vela suave,certo? Sim ...nãoexatamente.
Quandoeu carregomeu sitee voupara
livros/the-dictionary/q
,ele carregao conteúdo do dicionário
corretamente,masestáperdendo oparâmetro. A coisa queeu achointeressante é que seeu carregarindex.php? Pagename=o dicionário-dicionárioe amp; letter=q
,tudofuncionamuitobem.Para recuperar oparâmetro,tenho o seguinte código:
Eutambémestive olhandopara
$ _ Server ["Query_String"]
. Estes sãopreenchidos quando usoindex.php? Pagename ... & amp; letra ...
,masnão quandoeu uso/livros/pagename/letra
.Então,parece que algumas coisasestão acontecendo aqui. O WordPressnãoestá descartando completamente oparâmetro,pois as coisasfuncionam seeuespecificarindex.php com as variáveis de querystring apropriadas. Issopareceindicar que a regra de reescritanãoestáfuncionando corretamente. Noentanto,oplugin do analisador de reescritaparece dizer que as coisasestão configuradas adequadamentepelo queestouindo.
Estou umpouco confuso com o que deveriaestar olhandopara aquipara corrigir a desconexão. Desculpe seestouperdendo algo óbvio. ):