Soporte » Guías – Resolución de problemas » Búsqueda según los post_meta's

  • Mauricio20113

    (@mauricio20113)


    Saludos! Necesito ayuda o una guía del funcionamiento y configuración correcta de las comparaciones de los post_metas.
    Trataré de explicar con detalles: Supongamos que un post, en vez de un artículo resulta ser el perfil de un usuario, ése usuario no tiene las mismas características que otro, entonces asumiremos que Juan Carlos tiene 31 años y Leonardo Andres 27, lo que se está tratando es de hacer una llamada por GET a los post con metas de edades comprendidas en este caso de 27 a 31 años, así obtener sólo los posts con estos metas, algo parecido al rango de precios de WooCommerce.

    Sé o creo que se hace con los argumentos de WP_Query, ejemplo:

    $args = array(
       //Custom Field Parameters
       'meta_key'       => 'key',
       'meta_value'     => 'value',
       'meta_value_num' => 10,
       'meta_compare'   => '=',
       'meta_query'     => array(
    	array(
    		'key' => 'color',
    		'value' => 'blue',
    		'type' => 'CHAR',
    		'compare' => '='
    	),
    	array(
    		'key' => 'price',
    		'value' => array( 1,200 ),
    		'compare' => 'NOT LIKE'
    	),
    );

    Quisiera por favor que alguien me ayude con esto. Gracias de antemano.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Peter Olle

    (@peterolle)

    Tienes que ser específico en lo que quieres hacer. No se puede suponer que un post es un perfil y que un perfil es una pagina y que una pagina un widget. Porque todos son completamente diferentes y no tienen nada que ver.

    ¿Que quieres hacer exactamente de forma real y sin suponer?

    Saludos.

    Iniciador del debate Mauricio20113

    (@mauricio20113)

    Lo explique de una forma sencilla, no le veo lo complicado…
    Un cliente me buscó para un proyecto, el proyecto se trata de una página para la búsqueda de parejas. Desarrollé un tema donde el usuario visitante que quiere buscar pareja, al registrase debe llenar un cuestionario, en este cuestionario el usuario introduce su fecha de nacimiento y en una función se procesa dicha fecha para calcular su edad. El usuario al completar el cuestionario y darle al submit se agrega a ése usuario un user_meta tipo array con 68 preferencias provenientes del formulario (cuestionario) como pro ejemplo: gustos alimenticios, fuma, toma alcohol etc. al mismo tiempo se crea un post perteneciente al post_type usuario_hombre (si es hombre y su preferencia sexual es: mujer) el user_meta de cada usuario contiene (para evitar llamar un «get_posts()») un meta o una preferencia que indica cual es el ID de su post como perfil, con ese ID se llaman a los post_meta y de y con el post_meta ‘_edad’ se supone que un usuario mujer puede buscar o filtrar a los posts con ‘_edad’ especifico. ¿NO SE ENTIENDE?
    Cada posts de este post_type es un PERFIL y en ese perfil existen 4 post_meta (edad, pais, estado/provincia, etc) lo que quiere el cliente es que se filten o se pueda buscar a una lista de usuarios por edad por ejemplo el filtro tendría: buscar por edad «aqui un select del <se busca en la db al usuario con menor edad> a <se busca en la db al usuario con mayor edad> por ejemplo un select con valordes del 1 al 40 y luego otro select identico» quedarían dos selects representando la edad que se quiere filtrar.
    ¿AUN no se entiende? olvida todo lo antes dicho y ayudame con una funcion igual al filtro de precio tipo rango de WooCommerce
    ¿AUN NO LO ENTIENDES? no me ayudes y olvidalo.
    PD: francamente no le veo lo dificil de entender a mi primera consulta. Me disculpo por el sarcasmo.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘Búsqueda según los post_meta's’ está cerrado a nuevas respuestas.