Querystring-Parameter geht in der Umschreiberegel verloren
-
-
Wie rufen Sie den Parameterin Ihrer Seitenvorlage ab?Vielleichtist das Problem da.How are you retrieving the parameter in you page template? Perhaps the issue is there.
- 0
- 2011-08-22
- montrealist
-
Bist du sicher,dassesetwasmit dem Umschreibenist?Undetwasin single-book.php?Wieerhalten Sie die Buchstabenvariablein dieser Datei?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,das sollteim ursprünglichen Beitraggewesen sein.Ich habeesin bearbeitet.@dalbaeb Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
@ChristopherDavis Ah,das sollteim ursprünglichen Beitraggewesen sein.Ich habeesin bearbeitet.@ChristopherDavis Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
1 Antworten
- Stimmen
-
- 2011-08-22
Ich denke,esist wahrscheinlich Ihr Front-End-Code,der das Problem darstellt.
Versuchen Sie Folgendes:
<?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'; }
-
Nee.): Die URLendetimmernoch als "/books/the-dictionary" und alle (jetzt 3) Möglichkeiten,die qs var zu ziehen,sind leer.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
-
Diesisteine Art langer Versuch,aberersetzen Sie Ihreerstenbeiden Funktionenin `functions.php` (`my_init` & `add_books_rewrite`) durch Folgendes: http://pastie.org/2411828 und löschen Sie Ihren add_filter ('init')...) Linie.Versuchen Sie dann,Ihre Umschreiberegelnmanuell zu leeren,indem Sie auf die Seitemit den Permalink-Einstellungengehen und auf Speichern klicken.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
-
Vielleichtmöchten Sie auch versuchen,das Dollarzeichen am Ende Ihres regulären Ausdrucks "add_rewrite_rule" zu löschen.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
-
Sie denken also,der Rewrite Analyzer,der anzeigt,dass allesin Ordnungist,istein roter Hering?Hmm,werdees versuchen.So you think the Rewrite Analyzer indicating things are ok is a red herring? Hmm, will try.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Ja ... keine Veränderung.Yeah...no change.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Ichfindeesnur seltsam,dass WP die URL umleitet - wahrscheinlichetwas,dasmit dem kanonischen Umschreiben zutun hat.Wasistmit der Verwendung von add_rewrite_endpoint: http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint (' letter ',EP_PERMALINK); `.Verwenden Sie das anstelle von add_rewrite_rule und sehen Sie,waspassiertI 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
Ich habeerfolgreicheinen benutzerdefinierten Beitragstyp hinzugefügt und die Permalink-Strukturfunktioniert hervorragend. So habeichbeispielsweiseeinen benutzerdefinierten Beitragstyp
books
und der Permalink zueinem Buch lautet/books/the-dictionary
.Meine
single-book.php
-Seitenvorlage akzeptierteinenletter
-Parameter,um den auf der Seite angezeigten Inhalt anzupassen. Ichmöchtein der Lage sein,darauf zu verlinken,wie/book/the-dictionary/q
.Ich habe der Dateifunctions.phpmeines Themas Folgendes hinzugefügt:
Es dauerteeinige Versuche,den obigen Flushing-Code zu verwenden,manuell zur Seitemit den Permalink-Einstellungen zu wechseln und zu speichern und dumme Fehlerim regulären Ausdruck zubeheben. Schließlich konnteichmithilfe von Jan Fabrys fabelhaftes Rewrite Analyzer Plugin .
Also,von hier aus denkeich,dasses reibungslos läuft,oder? Ja ...nichtgenau.
Wennichmeine Site lade und zu
books/the-dictionary/q
gehe,wird der Inhalt vonthe-dictionary
korrektgeladen,aber der Parametergeht verloren. Das,wasichinteressantfinde,ist,dass allesgutfunktioniert,wennichindex.php?pagename=the-dictionary&letter=q
lade.Um den Parameter abzurufen,habeich denfolgenden Code:
Ich habemir auch
$_SERVER["QUERY_STRING"]
angesehen. Diese werden ausgefüllt,wennichindex.php?pagename...&letter...
verwende,abernicht,wennich/books/pagename/letter
verwende.Es scheint also,dass hierein paar Dingepassieren. WordPress löscht den Parameternicht vollständig,da die Dingefunktionieren,wennichindex.phpmit denentsprechenden Querystring-Variablen spezifiziere. Dies scheint darauf hinzudeuten,dass die Umschreiberegelnicht richtigfunktioniert. Das Rewrite Analyzer-Plugin scheintjedoch zu sagen,dass die Dingefür das,wasich vorhabe,richtigeingerichtet sind.
Ichbin etwas verwirrt darüber,wasich hier sehen sollte,um die Trennung zubeheben. Entschuldigung,wennmiretwas Offensichtlichesfehlt. ):