Crea tu propia búsqueda personalizada de WordPress

La función de búsqueda de WordPress es muy criticada y hay numerosos complementos disponibles para agregar mejoras, pero no siempre le dan lo que desea, especialmente si intenta construir un motor de búsqueda secundario. En este artículo, veremos lo fácil que es construir su propia búsqueda personalizada de WordPress y descubrir en el camino algunos sorprendentes secretos de búsqueda de WordPress.

¡Prosenetate tu búsqueda de WordPress! A pesar de los numerosos complementos que mejorarán la búsqueda de WordPress al ordenar después de la relevancia de agregar facetas hasta que incluya campos personalizados en búsqueda, hay ocasiones en que cualquier combinación de complementos no hará exactamente lo que desea y no se quede sin otra opción. Para ensuciarse las manos y escribirle a las tuyas.
En este artículo, lo guiaré a través de un estudio de caso de búsqueda personalizado. Descubrirá que no es tan difícil construir su propia página de búsqueda y descubrirá algunas características ocultas de la función de búsqueda construida. Pero antes de hacer esto, echemos un vistazo a lo que simplemente puede superar su propio formulario de búsqueda. Expandir la búsqueda de WordPress a través de un formulario de búsqueda extendido detrás de una búsqueda de WordPress es la clase WP_Query. Si previamente ha trabajado con sus propios bucles personalizados, probablemente estará familiarizado con WP_QUEY.
WP_Query tiene una pila de posibles parámetros, muchos de los cuales simplemente se pueden especificar en un formulario de búsqueda (o directamente en una URL) que cambiará el comportamiento de búsqueda. Por ejemplo, para convertir una búsqueda normal en una búsqueda en una publicación personalizada llamada producto: http://www.yoursite.com/?s=football&post_type=product Esto solo devolverá los resultados de los productos personalizados en los productos en los que el título o el contenido Contiene la palabra fútbol. Si observa la lista de parámetros WP_Query (es bastante extenso), encontrará muchos parámetros basados ​​en cadenas y números enteros que simplemente puede codificar en una URL para cambiar el comportamiento de búsqueda de incluir y excluir categorías al agregar un Taxonomía. Buscar para restringir la búsqueda a ciertos autores. No se documentan en Codex. Busque la frase de forma predeterminada, WordPress está buscando palabras clave. Lo que esto significa es que, cuando se pasan las botas de fútbol, ​​WordPress construye lo siguiente para la cláusula Where: (wp_posts.post_title ‘%fútbol%’) o (wp_posts.post_content como ‘%fútbol%’)) y ((wp_posts. post_itle como ‘%boots’) o (wp_posts.post_content como ‘%boots’))))
Como puede ver, esta no es una búsqueda de expresión, sino una búsqueda de fútbol en el título o el contenido y las botas en el título o el contenido. Entonces, una publicación que tiene arranque en el título y el fútbol en el contenido se ajustará, que probablemente no es lo que está buscando. Sin embargo, puede hacer que WordPress haga una búsqueda de expresión, simplemente agregando = 1 a la URL que cambia el lugar donde la cláusula en: ((wp_posts.post_itle ‘%boots de fútbol’) o (wp_posts.post_content como ‘%boots de fútbol%’ )) Ahora se busca la expresión, y el título o el contenido deben contener botas de fútbol que se encuentren. Pruebe esto en su sitio buscando y luego agregando y oración = 1 a la URL y vea qué diferencia aporta a los resultados. Dando una coincidencia exacta relacionada con la oración, pero es más específica. Agregar exactamente = 1 a la URL cambia el lugar donde la cláusula en: ((wp_posts.postle como ‘botas de fútbol’) o (wp_posts.post_content como ‘botas de fútbol)) en lugar de jugar la diferencia, te diré que la única diferencia entre la oración. y la cláusula precisa de dónde está la eliminación del % alrededor de la frase de las declaraciones similares. Esta eliminación, sin embargo, hace una gran diferencia, porque ahora el título o el contenido deben coincidir con la consulta de búsqueda, no solo contenerla. Entonces, si ningún producto tiene el título de botas de fútbol, ​​entonces no habrá resultados. Use exactamente con cuidado.
Personalización del formulario de búsqueda El formulario de búsqueda predeterminado de WordPress es muy simple:
search:
Si queremos cambiar el comportamiento de búsqueda, entonces todo lo que tenemos que hacer es agregar nuestros propios campos a la forma .
Search: Enumer type = “text” value = “” name = “s” id = “s” />
Este formulario de búsqueda, cuando se envía, generará la siguiente dirección URL: http : //www.test.dev/? s = & & & frase = 1 & post_type = El producto continuará invocando la página predeterminada con los resultados de búsqueda, pero esos resultados serán para tipos personalizados de productos de productos que contengan la expresión de búsqueda en el título o en el contenido.
La forma más fácil de crear su propio formulario de búsqueda, suponiendo que desea dejar el formulario predeterminado tal como es, es crear una nueva plantilla de página con el formulario de búsqueda codificado de acuerdo con sus requisitos y asignarla a una página en particular.
Sin embargo, si desea actualizar el formulario de búsqueda predeterminado: para activar la búsqueda de expresión, por ejemplo, tiene dos opciones suponiendo. Su plantilla no ha codificado el formulario de búsqueda de plantilla: el primero es colocar su formulario de búsqueda personalizado en una plantilla -Scalled Plantlate File.php. Siempre que se llame a la función get_search_form (), buscará y usará esta plantilla primero.
El segundo es usar el filtro get_search_form para reemplazar para obligar a WordPress a usar el formulario de búsqueda personalizado.

Ambas técnicas se describen en detalle en el códice de WordPress.
Cuando una forma personalizada no es suficiente, aunque puede hacer mucho con una forma personalizada, hay escenarios en los que debe construir su wp_quey y administrar sus resultados usted mismo, especialmente al agregar una segunda función de búsqueda. Contexto del estudio de caso Este estudio de caso se refiere a un sitio de comercio electrónico para una organización que vende una combinación de productos físicos y digitales. La mayoría de los productos digitales son ediciones traseras de dos revistas, junto con folletos tanto en papel como en formato digital. La organización quería ofrecer una búsqueda de “biblioteca” que permita a los visitantes buscar revistas y folletos para ciertas frases (las revistas tienen una lista completa de contenido). Si bien el sitio ya tenía una búsqueda de productos, los resultados fueron menos satisfactorios porque:
a menudo tenía demasiados resultados irrelevantes
incluyó todos los productos
no proporcionó ninguna indicación del lugar donde el tiempo de búsqueda era adecuado, los resultados de búsqueda fueron solo la imagen del producto
Para dejar las búsquedas actuales en TACT, se construyó una nueva función de búsqueda que: búsqueda forzada por expresión y no por palabras clave
limitado la búsqueda solo a las categorías de revistas y folletos
mostrado y resaltado el texto que contiene la expresión de búsqueda
Los dos primeros requisitos podrían cumplirse con el siguiente formulario de búsqueda personalizado:
etiqueta for = “s”> búsqueda:
Sin embargo, esto no ayudaría al aspecto de la lista de búsqueda y resaltaría la expresión de búsqueda, por lo que la página creó una nueva plantilla y se atribuyó a un nueva página dedicada. Aquí está la lógica principal de la plantilla: como puede ver, el formulario es casi la forma estándar de WordPress, porque todo el manejo de la llamada WP_Query se realiza codificando, dónde:
tip_post está configurado en el producto
La oración se establece en 1 para activar la búsqueda de expresión
Agregue un parámetro de taxonomía para restringir la búsqueda a las tres categorías de productos
El pedido se establece hasta la fecha y menú_order descendiendo
Todas las publicaciones serán devueltas
Es importante tener en cuenta que esta solución no contiene paginación. Para una búsqueda personalizada y específica, no siempre será necesario para la paginación, especialmente si se activa la búsqueda de expresión. Una vez que se ejecuta WP_QUEY, se trata de mostrar cualquier resultado de búsqueda. Notará que si no hay resultados de búsqueda, se muestran algunos productos similares para tratar de mantener al visitante en la página. Los resultados de la pantalla requieren dos funciones adicionales, una para extraer el texto que contiene la expresión de búsqueda correcta y otra para resaltar la frase misma. Destacando la frase se realiza solo usando una expresión regular simple. Extraer el texto que contiene la expresión de búsqueda no fue tan fácil. Fue muy ayudado por el hecho de que el contenido de cada producto utilizó un enfoque estándar para enumerar el contenido en una lista desordenada con un encabezado y una descripción, pero el intento de encontrar una expresión regex para eliminar el elemento demostrado por mí , así que recurrí a una cadena. manipulación. El resultado, sin embargo, es bastante bueno:
La búsqueda de la expresión en lugar de las palabras clave mejora significativamente los resultados perfectamente personalizados cuando desea una segunda búsqueda de formularios de búsqueda y funciones personalizadas son perfectos cuando desea agregar una segunda función de búsqueda para ejecutar junto con la función de búsqueda principal y tener requisitos realmente específicos. En varios escenarios, es posible que pueda obtener lo que simplemente desea tener un formulario de búsqueda personalizado que transmita los parámetros correspondientes a la función de búsqueda incorporada. Puede probar esto fácilmente antes de construir su propia función de búsqueda personalizada agregando las variables de consulta apropiadas a la URL de búsqueda estándar y viendo si obtiene los resultados deseados. Dicho esto, la codificación de su propia función de búsqueda no es tan difícil y le brinda acceso a una gama aún mayor de parámetros para controlar el comportamiento de búsqueda. ¿Ha encontrado una situación en la que necesita una búsqueda personalizada? ¿Encontraste un complemento para ayudarte o haberlo construido?
Etiquetas:
búsqueda

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *