Il parametro Querystring si perde nella regola di riscrittura
-
-
Come stai recuperandoilparametroneltuomodello dipagina?Forseilproblema c'è.How are you retrieving the parameter in you page template? Perhaps the issue is there.
- 0
- 2011-08-22
- montrealist
-
Sei sicuro che sia qualcosa con la riscrittura?E qualcosain single-book.php?Come stai ottenendo la variabile letterain quelfile?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,questo avrebbe dovutoesserenelpost originale.L'homodificatoin.@dalbaeb Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
@ChristopherDavis Ah,questo avrebbe dovutoesserenelpost originale.L'homodificatoin.@ChristopherDavis Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
1 risposta
- voti
-
- 2011-08-22
Penso cheilproblema siaprobabilmenteiltuo codicefront-end.
Prova questo:
<?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'; }
-
No.): L'URLfinisce ancora come `/books/the-dictionary`e tuttii (ora 3)modiperestrarre la qs var sono vuoti.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
-
Questo è unpo 'lungo,ma sostituisci letueprime duefunzioniin `functions.php` (`my_init` & `add_books_rewrite`) con questo: http://pastie.org/2411828edeliminailtuo add_filter ('init '...) linea.Quindiprova a svuotaremanualmente letue regole di riscrittura andando allapagina delleimpostazioni deipermalinke premendo Salva.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
-
Epotrestiprovare a cancellareil segno del dollaro allafine dellatua regex `add_rewrite_rule`.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
-
Quindipensi cheil Rewrite Analyzer cheindica che le cose vannobene sia unafalsapista?Hmm,proverò.So you think the Rewrite Analyzer indicating things are ok is a red herring? Hmm, will try.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Sì ...nessun cambiamento.Yeah...no change.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Trovo strano che WP stia reindirizzando l'URL,probabilmente qualcosa a chefare con la riscrittura canonica.Che dire dell'utilizzo di add_rewrite_endpoint: http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint (' letter ',EP_PERMALINK); `.Usaloinvece di add_rewrite_rulee guarda cosa succedeI 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
Ho aggiunto con successo untipo dipostpersonalizzatoe la struttura delpermalinkfunziona allagrande. Quindi,adesempio,ho untipo di articolopersonalizzato
books
e ilpermalink a un libro è/books/the-dictionary
.Ilmiomodello dipagina
single-book.php
accetta unparametroletter
perpersonalizzareil contenuto visualizzatonellapagina. Mipiacerebbeesserein grado di collegarmi a questo come/book/the-dictionary/q
.Ho aggiunto quanto segue alfilefunctions.php delmiotema:
Ci sono voluti alcunitentativi con l'utilizzo del codice di svuotamento sopra,andandomanualmente allapagina delleimpostazioni delpermalinke salvandoe correggendoerrori stupidinella regex,ma allafine sono statoin grado di verificare che la riscritturafosse stata aggiunta correttamente usando Jan Fabry favoloso rewrite analyzerplug-in .
Quindi,da quipenso che sia unanavigazionetranquilla,giusto? Sì ...nonesattamente.
Quando caricoilmio sitoe vado a
books/the-dictionary/q
,carica correttamenteil contenuto dithe-dictionary
,maperdeilparametro. La cosa chetrovointeressante è che se caricoindex.php?pagename=the-dictionary&letter=q
,tuttofunziona allagrande.Per recuperareilparametro,hoil seguente codice:
Ho ancheesaminato
$_SERVER["QUERY_STRING"]
. Questi vengonopopolati quando utilizzoindex.php?pagename...&letter...
,manon quando utilizzo/books/pagename/letter
.Quindi,sembra che qui stiano accadendo alcune cose. WordPressnon sta abbandonando completamenteilparametropoiché le cosefunzionano se specificoindex.php con le variabili querystring appropriate. Questo sembraindicare che la regola di riscritturanonfunziona correttamente. Tuttavia,ilplug-in Rewrite Analyzer sembra dire che le cose sonoimpostate correttamenteper quello che sto cercando.
Sono unpo 'confuso su quello che dovreiguardare quiper riparare la disconnessione. Scusa semi manca qualcosa di ovvio. ):