El parámetro de cadena de consulta se pierde en la regla de reescritura
-
-
¿Cómo recuperaelparámetroen suplantilla depágina?Quizáselproblemaesté ahí.How are you retrieving the parameter in you page template? Perhaps the issue is there.
- 0
- 2011-08-22
- montrealist
-
¿Estás seguro de quees algo con la reescritura?¿Y algoen single-book.php?¿Cómo obtiene la variable letraen ese archivo?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,esto debería haberestadoen lapublicación original.Lo heeditadoen formato.@dalbaeb Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
@ChristopherDavis Ah,esto debería haberestadoen lapublicación original.Lo heeditadoen formato.@ChristopherDavis Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
1 respuesta
- votos
-
- 2011-08-22
Creo queprobablementeelproblema seael código de suinterfaz.
Pruebeesto:
<?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!): La urltodavíatermina como `/books/the-dictionary` ytodas (ahora 3)formas deextraer la var qsestán vacías.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
-
Estoes unaposibilidad remota,pero reemplace sus dosprimerasfuncionesen `functions.php` (`my_init` & `add_books_rewrite`) conesto: http://pastie.org/2411828 yelimine su add_filter ('init'...) línea.Luego,intente vaciarmanualmente sus reglas de reescritura yendo a lapágina de configuración deenlacespermanentes ypresionandoguardar.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
-
Ytambiénpuedeintentareliminarel signo de dólar alfinal de suexpresión regular `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
-
Entonces,¿cree queel Rewrite Analyzer queindica que las cosasestánbien es unapistafalsa?Hmm,lointentaré.So you think the Rewrite Analyzer indicating things are ok is a red herring? Hmm, will try.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Sí ... sin cambios.Yeah...no change.
- 0
- 2011-08-22
- Rebecca Chernoff
-
Mepareceextraño que WPesté redirigiendo la URL,probablemente algo que ver con la reescritura canónica.¿Quépasa conel uso de add_rewrite_endpoint: http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint (' letra ',EP_PERMALINK); `.Úseloen lugar de add_rewrite_rule y vea qué sucedeI 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
He agregado con éxito untipo depublicaciónpersonalizada y laestructura delenlacepermanentefuncionamuybien. Entonces,porejemplo,tengo untipo depublicaciónpersonalizada
books
,yelenlacepermanente a un libroes/books/the-dictionary
.Miplantilla depágina
single-book.php
acepta unparámetro deletter
parapersonalizarel contenido que semuestraen lapágina. Megustaríapoder vincular aesto como/book/the-dictionary/q
.Agregué lo siguiente al archivofunctions.php demi tema:
Metomó algunosintentos usarel código de descarga anterior,irmanualmente a lapágina de configuración delenlacepermanente yguardar,y corregirerroresestúpidosen laexpresión regular,perofinalmentepude verificar que la reescritura se agregó correctamente usando Jan Fabry's fabuloso complemento analizador de reescritura .
Entonces,desde aquí creo quees vientoen popa,¿verdad? Sí ...noexactamente.
Cuando cargomi sitio y voy a
books/the-dictionary/q
,cargael contenido dethe-dictionary
correctamente,peropierdeelparámetro. Lo queme pareceinteresantees que si cargoindex.php?pagename=the-dictionary&letter=q
,todofuncionamuybien.Para recuperarelparámetro,tengoel siguiente código:
También heestadomirando
$_SERVER["QUERY_STRING"]
. Estos se completan cuando usoindex.php?pagename...&letter...
,perono cuando uso/books/pagename/letter
.Entonces,parece queestán sucediendo algunas cosas aquí. WordPressnoestáeliminando completamenteelparámetro,ya que las cosasfuncionan siespecificoindex.php con las variables de cadena de consulta adecuadas. Estopareceindicar que la regla de reescrituranofunciona correctamente. Sinembargo,el complemento Rewrite Analyzerparece decir que las cosasestán configuradas correctamentepara lo quebusco.
Estoy unpoco confundido sobre lo que deberíaestarmirando aquípara solucionar la desconexión. Lo siento sime estoyperdiendo algo obvio. ):