Home › Toolset Professional Support › [Resolved] Split: Dudas en cómo usar filtros
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
No supporters are available to work today on Toolset forum. Feel free to create tickets and we will handle it as soon as we are online. Thank you for your understanding.
This topic is split from https://toolset.com/forums/topic/en-las-busquedas-personalizada-quiero-filtrar-el-campo-edad/
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
- | 7:00 – 14:00 | 7:00 – 14:00 | 7:00 – 14:00 | 7:00 – 14:00 | 7:00 – 14:00 | - |
- | 15:00 – 16:00 | 15:00 – 16:00 | 15:00 – 16:00 | 15:00 – 16:00 | 15:00 – 16:00 | - |
Supporter timezone: Europe/London (GMT+00:00)
Tagged: Custom search, Views plugin
Related documentation:
This topic contains 10 replies, has 2 voices.
Last updated by cristhianB 6 years, 9 months ago.
Assisted by: Nigel.
Hola, resulta que en los campos de entrada en el campo genero tengo dos opciones Hombre, Mujer y en el campo buscando tengo tres opciones Mujer, hombre, Otra relación. Entonces agregue los campos en el editor de filro para las búsquedas pero al buscar por ejemplo en genero hombre buscando mujer el resultado me arroja todos los hombres en ves de las mujeres. Bueno eso es lógico por que el busca los campos igual a como están en los campos de entrada. Entonces en el editor de filtro le cambie los nombres osea en el campo genero lo cambie por el campo buscando y el de buscando por genero. para cuando ponga el buscador genero: hombre buscando; mujer el resultado me arroje todas las mujeres. Pero el problema es con el campo otra relación que me aparece en genero me aparece las opciones Mujer, Hombre, Otra relación y en el campo buscando aparece solo las opciones de Mujer , hombre. Entoces no me sirvió la idea y también parece que me estoy complicando mucho. Seria fácil quitar el campo "Otra relación" pero lo necesito hay alguna manera de hacer que funcione. También intente poner los campos manualmente desde el editor de filtro pero no me funciono.
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+00:00)
Hola Cristhian
¿Qué resultados debe mostrar si alguien elige "buscando otro relación"?
¿Debe mostrar hombres, mujeres, ó qué?
Hola, si eligen el campo otra relación debe mostrar hombres y mujeres. Mejor dicho deben aparecer todos los que eligieron esa opción en el campo "buscando" cuando crearon la entrada.
También en campos de entrada trate de hacer que la opción Otra relación quedara en un campo separado del campo Buscando. entonces en el formulario para crear la entrada aparecía el campo buscando y abajo la opción de otra relación adjunto imagen y en el campo otra relación puse una condición de que solo aparezca cuando el campo buscando este vació. Esto quiere decir que si un usuario seleccionaba la opción hombre o mujer el campo otra relación se ocultaba. y si llegaban a seleccionar el campo otra relación y para que no les marque que el campo buscando es obligatorio este lo deje normal y solo deje obligatorio el campo otra relacion y quedo perfecto y en la plantilla de contenido los códigos de otra relación lo puse en el mismo campo buscando es decir de esta forma; <tr><td>Buscando:</td><td class="align right">[types field='buscando'][/types][types field='otra-relacion'][/types]</td></tr> para que alguna de las dos opciones aparezcan en el mismo campo "buscando" Todo hiba bien hasta que resulta que cuando seleccionaban el campo de Otra relación y si luego querían cambiar a buscando por ejemplo Mujer o hombre se ocultaba el campo otra relacion pero seguía seleccionado y entonces en el campo Buscando aparecían las dos opciones juntas por ejemplo (Buscando: Mujer Otra relación) entonces para lograr que no aparezca las dos opciones tengo que crear una condición que ademas de ocultar el campo otra relación también que lo desactive, pero hasta aya no pude llegar. y en las búsquedas editor de filtro también hay que hacer lo mismo que se oculte el campo otra relación cuando selecciona alguna de las opciones del campo buscando. Trate de hacerlo pero sin resultados. Entonces quería saber si me puedes ayudar de alguna de las dos formas si la anterior no se puede entonces la que te menciono aquí lo podemos intentar y tu me dices la condición para ocultar y desactivar el campo Otra relación y que no cause conflicto si en la plantilla de contenido pongo los dos campos juntos y si esta manera es muy complicada que me recomiendas hacer para que funcione de la mejor manera.
Se me olvido adjuntar la imagen mencionada arriba. hidden link
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+00:00)
Hola Cristhian
Ya estoy más confundido todavía!
En lugar de hablar en términos técnicos de momento, ¿podemos hablar de gente?
Si ya hay usuarios registrado en el sitio (heterosexual, homosexual y bisexual) y llegan Juan (heterosexual), Dani (homosexual) y Paloma (bisexual) en búsqueda de gente, ¿cómo proceden?
Hola Nigel
Si esta muy claro Nigel en el formulario cuando crean la entrada hay dos campos que son genero y buscando por ejemplo:
Pais: España
ciudad: Madrid
Genero: Hombre
Buscando: Mujer
etc..
Si es para homosexuales y lesbianas seria
Pais: España
ciudad: Madrid
Genero: Hombre
Buscando: Hombre
etc..
Pais: España
ciudad: Madrid
Genero: Mujer
Buscando: Mujer
etc..
Si es para bisexuales hay es donde tengo el problema con el campo "otra relación"
Pais: España
ciudad: Madrid
Genero: Hombre
Buscando: otra relacion
etc..
En Campos de entrada la opcion otra relacion yo lo puse en un campo de seleccion en el campo buscando
y las opciones son
Hombre
mujer
Otra relacion
Pero el problema que tengo es en el formulario de busqueda que si por ejemplo xusuario hace una consulta por ejemplo genero :Hombre
Buscando: Mujer
resultados
Salen todos los hombres y asi sucede con cualquier campo que seleccionen si es genero: Mujer buscando; Hombres
saldran todas las mujeres esto es logico por que salen los resultados deacuerdo como estan en los campos de entrada entonces en la plantilla editor cambie los nombres osea en Genero le cambie el nombre por Buscando y en el campo buscando le cambie el nombre por Genero. entonces en el formulario de búsqueda cuando un hombre llene los campos para hacer la busqueda en el campo genero no va a poner hombre sino que va a poner mujer por que el campo genero le cambie el nombre por buscando y en el campo buscando el va a poner Hombre por que le cambie el nombre por Genero es decir.
Asi es como es normalmente
Genero: Hombre
Buscando: Mujer
entonces como les cambie el nombre en el formulario no aparecería el primer nombre si no el segundo el que señala las flechas por ejemplo:
Genero→Buscando
Buscando→Genero
Entonces el usuario llenaría el campo de la siguiente manera
Buscando→Genero: Hombre
Genero→Buscando: Mujer
resultado todas las mujeres
Hay estaría genial el resultado que arrojo el filtro pero el campo otra relación quedaría mal ubicado a como se ve en el formulario por ejemplo:
en Genero que ya esta con el nombre cambiado las opciones que se despliegan serian:
Genero→Hombre
→Mujer
→Otra relación
Buscando→Hombre
→Mujer
Con el anterior ejemplo la opción Otra relación que daría mal situada a como se ve en el formulario quedando mal en genero y debería estar en Buscando. por esta razón no me sirvió la idea y hay es donde me quede estancado. La otra forma de hacerlo era poniendo la opción Otra relación en un campo separado del de buscando y con una condición hacer que se oculte y desactive cuando seleccione en el campo buscando una de las dos opciones hombre o Mujer. Pero no he podido avanzar por que simplemente de las dos formas no salio como esperaba. entonces como logro poner la opcion otra relacion que me quede en el campo buscando y que ademas cuando alguien haga una consulta en el formulario de busqueda salgan bien los resultados.
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+00:00)
Hola Cristhian
Gracias por clarificar.
Lo que no entendía era que "otra relación" significa "cualquiera" ó "ambos".
Entonces tengo una solución que ves en el pantallazo (visualmente es crudo pero muestra la funcionalidad).
Creo que lo que necesitas en lugar de un opción "Otra relación" es cambiar el filtro a "multiselect" ó "checkboxes" para que los usuarios pueden elegir hombre, mujer, ó ambos a la vez.
El tipo de campo de entrada "buscando" debe ser de "checkboxes" para que los usuarios pueden indicar que buscan hombre, mujer, ó ambos también.
Lo que pasa es con este sólo no funcionará.
La consulta construida por Views no piensa en la posibilidad de tener más de un sexo seleccionado, y es necesario usar código para modificar la consulta, así:
function tssupp_modificar_busqueda( $query_args, $view_settings, $view_id ){ if ( 36 == $view_id && isset( $query_args['meta_query'] ) ) { foreach( (array)$query_args['meta_query'] as $k=>$v ){ if ( isset( $v['key'] ) && $v['key'] == 'wpcf-genero' ) { $query_args['meta_query'][$k]['compare'] = 'IN'; break; } } } return $query_args; } add_filter( 'wpv_filter_query', 'tssupp_modificar_busqueda', 101, 3 );
Es necesario editar el ID del View (36), y el campo de entrada de genero ('wpcf-genero').
¿Este te sirve?
Hola Nigel
Creo que ya me estas entendiendo pero te fuiste por otro lado yo se que es difícil entender este enrredo y de pronto no me he sabido explicar bien pero voy a tratar de explicarte lo mas detallado posible.
Cuando los usuarios van a crear la entrada en el formulario digamos que hay 4 personas que llena el formulario para crear la entrada y son variados entre heterosexuales bisexuales homosexuales..
el primer usuario es pedro que quiere conocer mujeres
Nombre: pedro
pais: españa
genero: Hombre
Buscando: mujer
El segundo es maria que quiere conocer hombres
Nombre: Maria
pais: mexico
genero: mujer
Buscando: Hombre
El tercero es jorge que quiere conocer hombres
Nombre: Jorge
pais: mexico
genero: Hombre
Buscando: Hombre
El cuarto es Julian que quiere conocer hombres y mujeres
Nombre: Julian
pais: mexico
genero: Hombre
Buscando: Otra relacion
Estas cuatro personas en el formulario de crear entradas llenaron los campos de la forma mencionada anteriormente
entonces las entradas quedaron publicadas.
Entonces Nigel la manera que tu entendiste y me explicas que en las búsquedas en el campo buscando: seleccione ambos hombre y mujer esta bien pero aquí es donde te confundes por que para eso he creado un campo llamado Otra relación para que me busque hombres y mujeres pero solo los que en el campo buscando pusieron la opción de "Otra relación" para que me filtre en las búsqueda todas las personas o en este caso las entradas que en el campo buscando pusieron la opción Otra relación
por ejemplo:
soy un: hombre
buscando: Otra relación
resultados todos los hombres y mujeres que en el formulario de entrada pusieron otra relación o mejor dicho todas las entradas publicadas que en el campo buscando tienen la opción de Otra relación.
Por que si lo hacemos como tu explicas en el gif que enviaste que si seleciona ambos hombre y mujer en los resultados me saldria hombres y mujeres pero los que buscan pareja por ejemplo:
soy un: hombre
buscando: hombre y mujer
resultados saldría maría y jorge osea todos las mujeres buscando hombres y los hombres buscando hombres seria una mezcla entre heterosexuales y homosexuales por que los resultados de las búsquedas salen deacuerdo a los datos que llenaron los usuarios en el formulario.
ahora bien aquí es donde te explico bien lo que yo quiero hacer.
Por ejemplo xusuario busca. *soy un@: hombre *buscando: mujer
Entonces el resultados seria. El segundo es maria que quiere conocer hombres
Nombre: Maria
pais: mexico
genero: mujer
Buscando: Hombre
(aqui hay que invertir los campo o hacer algo en el editor de filtro para que los resultados muestre las mujeres buscando hombres y no los hombres buscando mujer por que usted sabe que asi como ponga en el buscador sale igual a como esta en la entrada)
si x usuario busca. *soy un@: Mujer *buscando: Hombre
Entonces el resultados seria. El primer usuario es pedro que quiere conocer mujeres
Nombre: pedro
pais: españa
genero: Hombre
Buscando: mujer
(aqui también hay que invertir los campo o hacer algo en el editor de filtro para que los resultados muestre los hombres buscando mujeres)
Si x usuario busca. *soy un@: Hombre *buscando: Hombre
Entonces el resultados seria. El tercero es jorge que quiere conocer hombres
Nombre: Jorge
pais: mexico
genero: Hombre
Buscando: Hombre
(aqui no hay que hacer nada ya que los resultados salen igual a como pone en el buscador)
Si x usuario busca. *soy un@: hombre *buscando: Otra relación
Entonces el resultados seria. El cuarto es Julian que esta buscando otra relación
Nombre: Julian
pais: mexico
genero: Hombre
Buscando: Otra relación
(aqui lo que necesito es que en los resultados de búsqueda salgan todos los hombres y mujeres que en las entradas pusieron en el campo buscando: Otra relación)
Aquí en el ultimo ejemplo del cuarto que es julian lo que quiero decir es que si alguien sea mujer o hombre y ponga en el campo buscando: Otra relación como resultado saldran todas los usuarios que cuando llenaron el formulario de crear entradas en el campo buscando pusieron la opción Otra relación. Mejor dicho todas las entradas publicadas que tienen en el campo buscando Otra relación saldrán en los resultados de búsqueda.
y Listo eso es todo lo que quiero hacer. Aqui puedes ver un ejemplo de lo que quiero hacer pero obviamente con el soy un y el busco en campos separados hidden link
Hola Nigel
El gif y el mensaje que me enviaste para poner hombre y mujer en un multi select y seleccionar ambos no me sirve por que yo quiero es que aparezcan hombres y mujeres juntos para los bisexuales o los que simplemente no buscan una pareja si no amistades o conocer gente por ejemplo una persona que es bisexual en el filtro de búsqueda no quiere que aparezca una mezcla de hombre y mujeres heterosexuales que estén buscando pareja con homosexuales, bisexuales etc.. ellos quieren es buscar personas que tambien sean como ellos bisexuales de mente abierta o que quieran conocer amistades entonces por eso obligatoriamente hay que usar un campo aparte como el de Otra relación para diferenciar y que el buscador saque aparte esas personas Hombres y Mujeres por medio del campo otra relación que son los usuarios que seleccionaron esa opción al crear la entrada.
Languages: English (English ) Spanish (Español )
Timezone: Europe/London (GMT+00:00)
Hola Cristhian
Bueno, ahora lo tengo claro, gracias.
¡Lo que no tengo es su solución!
Pero pensaré y me pongo en contacto de nuevo pronto.
Hola Nigel
Después de todo esta semana haciéndole por fin logre hacer lo que quería y mucho mas. resulta que en editor de filtro para el formulario de búsqueda después de que uno le da un nuevo filtro selecciona el campo en tipos de control hay una opción que dice uso de valores introducidos manualmente. Hay estaba la solución solo tenia que introducir los campos y poner los valores que estaban en campos de entrada y listo esto me da en control total de los campo pudiendo cambiarles el nombre, alternarlos y en los campos de edad pude reducir los números de 18, 25, 30 para que no salga toda la lista completa mejor dicho una maravilla. eso era lo que estaba buscando hace rato y con esto me evite de enviarte mas tickes ya con esto lo soluciona todo pero si necesito algo mas te contacto, gracias!