Suporte » Desenvolvendo com WordPress » WP_Query Fazer Consulta múltiplos campos

  • Resolvido saulo

    (@sauloney)


    Olá pessoal será que alguém pode me ajudar quero realizar uma consulta no WordPress usando um select com vários valores no campo preço quando selecionar o select com o valor de 100 até 1000 que ele retorne os valores entre esse valores da mesma maneira de 1001 até 2000 aqui está a consulta da página de resultado! desde já agradeço

    <?php
    if(isset($_REQUEST['imovel'])):
    	 $negocio = $_REQUEST['srcnegocio'];
    	 $tipo    = $_REQUEST['srctipo'];
    	 $valor   = $_REQUEST['srcpreco'];
    	 $cidade  = $_REQUEST['srccidade'];
    	 $bairro  = $_REQUEST['srcbairro'];
    
    $args = array(
        'post_type' => 'post',
        'post_status' => 'publish',
    	'category_name'=>$negocio,
    );
    $args['meta_query'][] = array(
        'key' => 'tipo_de_imovel',
        'value' => $tipo,
        'compare' => 'LIKE',
    );
    $args['meta_query'][] = array(
        'key' => 'valor',
        'value' =>$valor,
        'compare' => 'LIKE',
    	 'type' =>   'NUMERIC',
    );
    $args['meta_query'][] = array(
        'key' => 'cidade',
        'value' => $cidade,
        'compare' => 'LIKE',
    );
    $args['meta_query'][] = array(
        'key' => 'bairro',
        'value' => $bairro,
        'compare' => 'LIKE',
    );
     endif;
    ?>
    <?php

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Moderador Míriam de Paula

    (@miriamdepaula)

    E como é que tá o HTML do seu select?

    Criador do tópico saulo

    (@sauloney)

    Aqui está
    <select name="srcpreco" class="form-control" id="preco_id">
      <option value=""><?php _e('Por Preço');?></option>
     <option value="1000">De  R$   100,00   Até  R$ 1.000,00</option>
     <option value="2000">De  R$ 1.000,00   Até  R$ 2.000,00</option>
     <option value="3000">De  R$ 2.000,00   Até  R$ 3.000,00</option>
     <option value="3500">De  R$ 3.000,00   Até  R$ 3.500,00</option>
     <option value="4000">De  R$ 3.500,00   Até  R$ 4.000,00</option>
     <option value="5000">De  R$ 4.000,00   Até  R$ 5.000,00</option>
      </select>
    Moderador Míriam de Paula

    (@miriamdepaula)

    Do jeito que está, a sua consulta iria retornar sempre de 0 até o valor selecionado.

    Tente usar “pipes” no value do select…Por exemplo:

    value="100|1000"
    value="1001|2000"

    etc…
    Aí você usa talvez um split() http://php.net/manual/pt_BR/function.split.php
    pra separar os dois valores e passar pra consulta…

    No meta_query, tu faz assim (exemplo):

    array(
          'key' => 'price',
          'value'   => array( $valor1, $valor2 ),
          'type'    => 'numeric',
          'compare' => 'BETWEEN',
    ),

    https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters

    Criador do tópico saulo

    (@sauloney)

    Valeu, Muito Obrigado!
    Fica com Deus.

    Criador do tópico saulo

    (@sauloney)

    Só mais uma duvida como posso realizar a pesquisa sem ser obrigatório selecionar o select preço
    para retornar o resultado !
    Porque agora o resultado da pesquisa só retorna algo se o select preço for selecionado,quero que ele seja opcional!

    Moderador Míriam de Paula

    (@miriamdepaula)

    Aí você usa uma condicional…

    SE vier preenchido o campo preço: Adiciona a meta_query de preço,
    CASO CONTRARIO: não adiciona.

    Abs.
    Miriam

    Criador do tópico saulo

    (@sauloney)

    Valeu muito obrigado, mais uma vez me ajudou demais Abs.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘WP_Query Fazer Consulta múltiplos campos’ está fechado para novas respostas.