Programación
está resueltoNo se lo que he tocado pero ahora la paginación de los resultados de búsqueda no funciona.
Si hago una búsqueda usando dos o más términos, los resultados son correctos y me da una url del tipo .../?s=present+perfect, sinembargo, cuando paso a la pagina siguiente de los resultados de búsqueda me altera la url y me da una url tipo .../page/2/?s=presentperfect, con lo que al eliminar el signo "+" ya no salen los resultados esperados.
Dejo el código por si alguien me puede indicar donde está el error:
Vaya, creo que no es un problema de paginación, sino directamente de la caja de búsqueda:
¿pero que falta?
En value usa <?php the_search_query(); ?>, es decir:
De esta forma conserva la cadena tal como se introduce en el cuadro de búsqueda.
wp_specialchars puede que modifique la cadena a buscar. De todas formas esta función es obsoleta.
Un saludo
Hola LGrusin,
He hecho lo que comentas pero el problema persiste:
También he intentado con una solución propuesta en WPRecipies que en principio es completamente diferente y obtengo los mismos resultados. ¿Qué puede estar pasando?
Por lo que he podido averiguar la función paginate_links (se encuentra en el archivo \wp-includes\general-template.php) es la culpable, usa alguna función que limpia la URL y elimina los espacios entre palabras.
Si estas haciendo pruebas en local ponle un echo a get_query_var y verás que muestra las palabras tal como las tecleas en el cuadro de búsqueda con los espacios.
<?php echo get_query_var( 's' ); ?>
O sea, que estamos en las mismas. Por lo que se ve esta función no ha sido pensada para trabajar con dos o más palabras.
Solución:
1 - No usar más de una palabra en la búsqueda.
2 - Hacer alguna chapuza para sustituir los espacios por el signo +
Seguiré investigando.
Un saludo
He intentado incorporar el código que propones, pero me elimina la barra lateral y el footer. Creo que la responsable es la última función
En cualquier caso, gracias por tu ayuda (una vez más)
Este problema no sólo ocurre con el formulario de búsquedas de wordpress, en mi caso, tengo el mismo problema con el formulario de búsquedas personalizadas de google, ya que al utilizar más de un término de búsquedas, las busca todo junto, generando de esta manera un error en la frase buscada, lo que no ocurre cuando se utiliza sólo un término de búsqueda.
Esto no afecta para nada al footer ni al sidebar. Sólo he modificado tu código donde pone:
por este otro:
Tu código completo modificado sería:
Por supuesto usando < ?php the_search_query(); ? > en el formulario de búsqueda como dije antes.
Un saludo
Debes Identificarte para publicar.