Tutorial: Optimizando la búsqueda en un portal de vídeos musicales

Okaro Seguir

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
31 Oct 2013
Mensajes
812
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Saludos!!

Ando montando un portal de vídeos de unos grupos musicales, y me he visto en la necesidad de integrar un sistema de búsqueda avanzada en el que aparte del texto a buscar, me deje seleccionar una o mas categorías, y a su vez etiquetas, para poder restringir la búsqueda.

Por ejemplo cada canción (entrada) están categorizadas por grupo, y etiquetada por año, tipo de vídeo, etc. Pero si busco una canción, está me saldrá varias veces ya que a parte del vídeo musical, también hay versiones de otros grupos, y sobre todo habrá muchas en directo. De este modo podré restringir la búsqueda por ejemplo a canción, por tipo y por año.

Así que a pesar de que no soy ningún gurú y aun menos profesional, quiero compartirlo por si a alguien le resulta útil.

Si bien este plugin acepta muchas opciones, y algunas avanzadas, voy a comentar como hacerlo de una manera básica, para ir empezando, ya que entre otras cosas, no soy un experto del tema, y aun menos conozco todos los detalles.

Mi blog está en inglés, no sé si el plugin está traducido o no, pero no os preocupéis, por que para lo que vamos ha hacer no es difícil.

Este plugin ofrecerá algunas diferencias dependiendo del tema que estemos usando actualmente. También ofrecerá opciones diferentes dependiendo del tipo de taxonomías que estés utilizando, y también dependiendo de los plugins que tengas instalados.

Comenzaremos instalando el plugin en cuestión: Ultimate WP Query Search Filter

Una vez hecho y activado, lo veremos en la columna de la izquierda. Pulsaremos sobre ‘Add form’ (añadir formulario).

add-form.png

Añadiremos un título a nuestro formulario, yo he colocado ‘Advanced Search’, puedes ponerle el título que prefieras.

form-title.png

Search Template (Plantilla de la búsqueda)

search-template.png

Aquí elegiremos si queremos que los resultados aparezcan en la página de resultados que viene por defecto (Default Search Template) , o queremos mostrarlos en la página actual (Ajax - Result displayed on same page).

Si optamos por la segunda opción, debemos indicarle el id o class del div en el que queremos que lo muestre. En mi caso sería #content
Esta opción yo la he descartado, ya que no me ofrecía buenos resultados con mi tema, y el diseño no era el esperado, pero si lo deseas siempre puedes probar. En este caso dejaré marcada la primera opción.

Post Type (Tipo de entrada)

post-type.png

Aquí elegiremos en que tipo de contenido queremos que busque. En mi caso quiero que busque en los post (entradas) y en las páginas (pages). Marca las que te interese.

Taxonomy (Taxonomía)

En el menú desplegable veremos algunas opciones que podemos elegir. En mi caso las siguientes:

Category (categoría)
post_tag (etiquetas)
nav_menu
link_categor
post_format

Como he dicho antes, los resultados variarán en función de tu tema y tus plugins.

Primero elegiré category, para poder filtrar una búsqueda por categoría, que en mi caso son los grupos musicales.

dd.png

En Label (título, etiqueta, etc) introduciremos el texto que queremos que aparezca, en mi caso voy a poner Groups.

En Text For 'Search All’ Options (texto para la opción ‘Buscar en todo’) introduciremos un texto para indicar que queremos buscar en todas las categorías, yo voy a colocar All Groups.

En la opción Hide Empty Terms? (Esconder términos vacíos) le indicaremos si queremos que aparezcan las categorías en las que aun no hay ninguna entrada asociada. En mi caso le indico que no, para que me muestre todas las categorías independientemente de si tiene entradas asociadas o no.

Exculde Term ID (excluir términos)

exclude.png

Aquí podemos indicarle que términos, en este caso categorías, queremos excluir de la búsqueda, podemos ponerlo de manera manual, o pulsar en Choose Terms y hacer click en aquellos que quieras excluir. En este caso los dejaré todos.

Display Type? (Tipo de visualización)

display.png

Aquí indicaremos si queremos mostrarlos como una lista (Drop down), como botón (radio) o como casilla para marcar (check box). Yo indico esta última ya que quiero dejar la opción de poder buscar en varias categorías a la vez.

En Operator indicaremos como queremos que se comporte el buscador a la hora de hacer una búsqueda:

operator.png

IN esto significa que lo que buscamos está en alguna de las categoría. Por ejemplo si busco un título y marco más de una categoría, si está en una de las categorías, me mostrará los resultados de los términos de búsqueda, que incluyan esa categoría.


NOT IN esto significa que lo que buscarmos no está en la categoría. Por ejemplo, si busco un título y marco una categoría, me mostrará los resultados de los términos de búsqueda que no se incluyan en esa categoría.


AND esto significa que tiene que estar en todas las categorías que hemos marcado. Si marcamos más de una casilla, y no se encuentra en una de las categorías, no nos mostrará resultados.

Marcaremos IN para este ejemplo que estamos haciendo. Y pulsaremos sobre el botón ‘Add Taxonomy’.

Aunque no hemos terminado, vamos a ir viendo los resultados poco a poco. Así que vamos abajo de la página y pulsamos sobre el botón ‘Save’ para guardar los cambios.

Antes de salir vamos arriba de la página del todo y copiamos el código de nuestro formulario de búsqueda, lo verás en la caja verde enorme. En este caso [ULWPQSF id=705].

green.png

Ahora vamos a crear una página donde incluiremos este formulario que estamos realizando. Para ello iremos al menú Páginas, y pulsaremos sobre Añadir página. En mi caso voy a llamarla Advanced Search.


En el cuadro de redacción pulsaremos en ‘Texto’ y añadiremos el código del formulario que hemos copiado antes, y publicaremos la página.

En mi caso, las páginas publicadas no se incluyen en el menu del tema, así que si no quieres que aparezca está página en tu barra de menus siempre puedes instalar el plugin 'Exclude pages' o alguno similar, para que no aparezca la página en el menú si así lo deseas.

Por ahora el resultado anda así:

cap01.png

Como podéis ver, no aparece una caja de búsqueda (ya que no es obligatorio), pero lo añadiremos enseguida. Si marcamos una categoría, y pulsamos en buscar, nos saldrán los resultados de todas las entradas con esa categoría, pero claro, eso es lo mismo que pulsar sobre el enlace de una categoría. El tema está en que podemos marcar más de una categoría, y nos mostrará el resultado de todas las entradas que que tengan esa categoría.


Ahora vamos a añadir una caja de búsqueda. Para ello volvemos al plugin pulsando sobre 'Ultimate WPQSF’ y pulsaremos sobre el formulario que hemos creado antes.


Bajamos hasta Result Setting and Others

results.png

y marcaremos la casilla que pone Enabling string search (Activar cadena de búsqueda). En Label for string search incluiremos el texto que queramos que aparezca sobre la caja de búsqueda y marcaremos la casilla Combine string search with filters above para combinar el texto de la búsqueda con las categorías que hemos incluido.

Una vez guardado el resultado será algo así:

cap011.png

Ahora podremos hacer una búsqueda con texto, y que nos muestre los resultados que se encuentren en las categorías que hemos marcado.

Vamos a completar ahora las opciones de búsqueda añadiendo etiquetas, el paso será el mismo que cuando hemos añadido las categorías, solo que esta vez cuando añadamos una nueva taxonomía elegiremos la opción post_tag.


Para ver un ejemplo práctico, voy a elegir solo las etiquetas que incluyen un año. Quedando así.

cap03.png

Recordar poner AND en Taxonomy Fields para que busque en todas las opciones que marquemos.

tax.png

Como me gusta tener más opciones a la hora de buscar, voy ha hacer otra de etiquetas en la que pondré el tipo de vídeo que quiero que busque (Vídeo musical, concierto, actuación etc…) El paso será el mismo que el anterior, tan solo elegiré otras etiquetas. El resultado algo así:

cap04.png

Podeís cambiar el orden pulsando sobre un menu y arrastrándolo a donde queráis.

taxo.png

Ahora por ejemplo puedo buscar un vídeo, de un grupo en concreto, que sea de un concierto, y de un año en concreto. Muy útil dependiendo el tipo de contenido que tengas en tu blog para no mostrar muchos resultados y no volverse loco buscando algo.

Yo por mi parte, le voy a cambiar un poco el diseño, ya que no me gusta el diseño. A partir de aquí tendrás que modificar el CSS a tu gusto. Como podéis ver en la siguiente imagen he añadido un fondo, he cambiado el tamaño y el espaciado, he quitado el borde, etc..

cap05.png

Como veis la caja está ahora arriba, lamentablemente, mis conocimientos se escapan, así que he tenido que modificar el fichero searchform.php que se encuentra dentro de la carpeta html del plugin, esto significa que si el plugin se actualiza, perderé los cambios realizados, así que tener mucho cuidado si optáis por esta técnica.

Ahora voy añadir el enlace, en este caso lo voy a hacer encima de la caja de búsqueda. Es tan sencillo como escribir el texto que quieres y enlazarlo a la página de búsqueda que hemos creado.

cap06.png

A partir de aquí, como podéis ver las opciones son variadas, en función de lo que tu blog necesite, ya que podemos combinar operadores.

Como podéis ver hay un apartado con otros campos para elegir, pero lamentablemente esto ya se me escapa a mi conocimiento, pero por lo que puedo ver, puedes usar tus campos personalizados e incluso de otros plugins para poder incluir tus propios operadores en las búsquedas.

Como complemento os comento, que si por ejemplo, añadís una nueva categoría o etiqueta, está se colocará automáticamente. Por ejemplo, si yo ahora añado una etiqueta que se llama 'Concierto en Super Saitama Arena', está aparecerá en el apartado de años y tipo de vídeo que he incluido ya que son etiquetas. Si no quieres que aparezca tendrás que editar el formulario cada vez que añadas algo.

Lamentablemente no hay una funcionalidad por ahora para que en lugar de excluir categorías, las incluya solamente. Algún usuario está trabajando en ello, y no sé hasta que punto han conseguido algo, podéis verlo en el siguiente enlace: WordPress › Support » Include instead of Exclude?

Solamente espero que os sea útil como lo ha sido a mi.

Un Saludo.
 

Adjuntos

  • cap02.png
    cap02.png
    183,9 KB · Visitas: 506
Última edición:

Carlos Arreola

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Excelente comerciante!
Suscripción a IA
Desde
6 Abr 2009
Mensajes
12.385
Gracias por el aporte :)
 

zarakatajamember

Préstamo
Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Desde
28 Nov 2013
Mensajes
821
Excelente muchisimas gracias. Estaba trabado con este trabajo.
 

ramonjosegn

Sigma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
14 Feb 2010
Mensajes
70.587
Hola [MENTION=49745]Okaro[/MENTION]

Justo ando peleando con este plugin, '¿me podrías echar una mano?

Mi idea es usarlo para filtrar buses/barrios y encontrar rutas, según el autor no se puede hacer con esta versión (pero soy cabezota).

Estaba pensando en hacerlo con "custom fields" pero no me muestra nada en los desplegables.

Lo otro sería con custom types, pero ya me pierdo...

Te agradezco si me puedes colaborar, gracias.

Esto fue lo que me respondió el autor en su momento..

https://wordpress.org/support/topic...ter-it-is-possible-with-this-plugin?replies=2

- - - Actualizado - - -

Hola [MENTION=49745]Okaro[/MENTION]

Ya voy en el buen camino.

Me habían dicho los autores de otros plugins que lo planteara de esta forma
Taxonomías - barrios
Custom Post Types - rutas

Uno de los plugins para crearlas me funcionó a medias, estuve un rato con otro tratando de que funcionara, no entendía porqué hasta que al final me di cuenta de que en realidad "barrios" que lo estaba manejando con 2 taxonomías (barrio origen / barrio destino) jamás iba a funcionar... entonces caí en cuenta de que con una sola taxonomía era suficiente, ya que los barrios son siempre los mismos (sin importar si son origen o destino, a veces son origen, a veces son destinos, pero el BARRIO SIEMPRE ES EL MISMO)

Viendo el funcionamiento del plugin me di cuenta de que en realidad lo que hacía era buscar en las "etiquetas" de las Taxonomías... y entonces pensé... si tengo páginas... puedo poner un plugin de etiquetas en las que el plugin busque y como indicaste en tu tutorial decir que busque sólo en las páginas... y voilá, FUNCIONÓ!!

Ya puedo cruzar datos de barrio origen - barrio destino = rutas que pasan por ahí (creo que por defecto el sistema usa AND ¿cierto?)

Y lo único que tendré que hacer es añadir los barrios a las páginas como tags.


Lo que sí me preocupa (aparte de la indexación de google con tanto tag) es si las cajas de búsqueda mostrarán una barra deslizante, ya que estamos hablando de más de 5000 barrios...
 
Última edición:

Okaro

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
31 Oct 2013
Mensajes
812
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Buff. La página donde puse este plugin, hace casi un año que no la toco, así que ya casi ni me acuerdo de como funcionaba el tema. Tendría que volver a echarle un vistazo para refrescarme la memoria.

Por lo que veo, vas bien encaminado, así que ya me dirás que es lo que te falta por hacer y si puedo le echo un vistazo, pero no prometo nada, llevo unos días medicado por la gripe que tengo, y no tengo yo la cabeza para muchas historias.

Un Saludo.
 

ramonjosegn

Sigma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
14 Feb 2010
Mensajes
70.587
Hola [MENTION=49745]Okaro[/MENTION] perdona pero como no me habías mencionado no me di cuenta de esta respuesta que me diste.

Pues sigo con la duda de si el plugin que uso me indexará los tags... y también me gustaría no tener que usar tags, porque el plugin de pago no los soporta... pero ni idea de cómo meter los "taxonomy fields", le he dado mil vueltas y no consigo que carguen..

Y luego la página de búsqueda se muestra horrible en mi theme... no sé si podría crear otra... la verdad...

Voy a ver si hago algunas capturas y pruebas y te muestro

Este es el plugin que encontré para tags en páginas - https://wordpress.org/plugins/page-tag-cloud/ (lógicamente no quiero que indexe ¿pero lo hará? ni idea, no llego a tanto..)

pero ni idea de si van a indexar (no quiero que indexen realmente, sólo es para que se hagan las búsquedas)
 
Última edición:

ramonjosegn

Sigma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
14 Feb 2010
Mensajes
70.587
Buff. La página donde puse este plugin, hace casi un año que no la toco, así que ya casi ni me acuerdo de como funcionaba el tema. Tendría que volver a echarle un vistazo para refrescarme la memoria.

Por lo que veo, vas bien encaminado, así que ya me dirás que es lo que te falta por hacer y si puedo le echo un vistazo, pero no prometo nada, llevo unos días medicado por la gripe que tengo, y no tengo yo la cabeza para muchas historias.

Un Saludo.

Hola Okaro.

Conseguí un plugin de taxonomías que funciona perfectamente con el buscador.

Aunque se indexaban las taxonomías hablé con el autor y añadió la opción para ponerle "no-index".

Ahora el problema es que tengo 5000 barrios para meter... claro, cuando abres el desplegable te mueres con el listado tan enorme...

El autor dice que las cajas de búsqueda SÓLO FUNCIONAN con custom fields... y encima son de pago...

Y ahí estoy "detenido" en este dilema... cómo reducir el número de barrios o cómo crear algo inteligente para que sea funcional (de pronto escoger una región de barrios y llevar al visitante hasta un buscador más personalizado... en el punto de salida... pero igual ¿5000 barrios en el punto de llegada?).
 
Arriba