Paramètre de chaîne de requête perdu dans la règle de réécriture
-
-
Comment récupérez-vous leparamètre dans votremodèle depage?Leproblèmeestpeut-être là.How are you retrieving the parameter in you page template? Perhaps the issue is there.
- 0
- 2011-08-22
- montrealist
-
Etes-vous sûr que c'est quelque chose avec la réécriture?Et quelque chose dans single-book.php?Comment obtenez-vous la variable de lettre dans cefichier?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,cela aurait dû être dans lemessage d'origine.Je l'ai édité.@dalbaeb Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
@ChristopherDavis Ah,cela aurait dû être dans lemessage d'origine.Je l'ai édité.@ChristopherDavis Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
1 réponses
- votes
-
- 2011-08-22
Jepense que c'estprobablement votre codefrontal quiposeproblème.
Essayez ceci:
<?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'; }
-
Nan.): L'url seterminetoujourspar `/books/the-dictionary`et toutes les (3)façons de récupérer le var qs sont vides.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
-
C'est unpeu long,mais remplacez vos deuxpremièresfonctions dans `functions.php` (`my_init` & `add_books_rewrite`)par ceci: http://pastie.org/2411828et supprimez votre add_filter ('init'...) ligne.Ensuite,essayez de vidermanuellement vos règles de réécritureen accédant à lapage desparamètres de vospermalienset en cliquant sur Enregistrer.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
-
Et vouspouvez égalementessayer de supprimer le signe dollar à lafin de votreexpression régulière `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
-
Vouspensez donc que l'Analyseur de réécritureindiquant quetout vabien est un hareng rouge?Hmm,je vaisessayer.So you think the Rewrite Analyzer indicating things are ok is a red herring? Hmm, will try.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Ouais ...pas de changement.Yeah...no change.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Jetrouvejustebizarre que WP redirige l'URL -probablement quelque chose à voir avec la réécriture canonique.Qu'enest-il de l'utilisation de add_rewrite_endpoint: http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint (' letter ',EP_PERMALINK); `.Utilisez cela au lieu de add_rewrite_ruleet voyez ce qui sepasseI 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
J'ai ajouté avec succès untype demessagepersonnaliséet la structure du lienpermanentfonctionnetrèsbien. Ainsi,parexemple,j'ai untype depublicationpersonnalisé
books
,et le lienpermanent vers un livreest/books/the-dictionary
.Monmodèle depage
single-book.php
accepte unparamètreletter
pourpersonnaliser le contenu affiché sur lapage. J'aimeraispouvoir créer un lien vers ceci comme/book/the-dictionary/q
.J'ai ajouté ce qui suit aufichierfunctions.php demonthème:
Il afallu quelquesessaisen utilisant le code de vidage ci-dessus,en allantmanuellement à lapage desparamètres depermalienet enenregistrant,et en corrigeant deserreurs stupides dans l'expression régulière,maisj'aifinalementpu vérifier que la réécriture a été ajoutée correctementen utilisant Jan Fabry fabuleux plug-in de réécriture de l'analyseur .
Donc,àpartir d'ici,je pense que lanavigationestfluide,non? Ouais ...pasexactement.
Lorsqueje chargemon siteet queje vais dans
books/the-dictionary/q
,il charge correctement le contenu dethe-dictionary
,maisilperd leparamètre. Ce queje trouveintéressant,c'est que sije chargeindex.php?pagename=the-dictionary&letter=q
,toutfonctionnetrèsbien.Pour récupérer leparamètre,j'ai le code suivant:
J'ai égalementexaminé
$_SERVER["QUERY_STRING"]
. Celles-ci sont renseignées lorsquej'utiliseindex.php?pagename...&letter...
,maispas lorsquej'utilise/books/pagename/letter
.Il semble donc que certaines choses sepassentici. WordPressn'abandonnepas complètement leparamètre car les chosesfonctionnent sije spécifieindex.php avec les variables de chaîne de requête appropriées. Cela sembleindiquer que la règle de réécriturene fonctionnepas correctement. Cependant,leplugin Rewrite Analyzer sembleindiquer que les choses sont correctement configuréespour ce queje recherche.
Jene saispastrop ce queje devrais regardericipour corriger la déconnexion. Désolé sije manque quelque chose d'évident. ):