Suporte » Desenvolvendo com WordPress » Usar Campo Personalizado em um Select combo

  • Estou quebrando a cabeça, preciso usar um campo personalizado como pesquisa usando um select combo… até ai sem problema eu recupero dentro do combo, o problema está em enviar para outra pagina só os campos personalizados..
    ex…
    Meu Campo personalizado é para Cidade, então tem vários produtos em varias cidade…

    No combo: vai aparecer, São Paulo, Rio de Janeiro, Sorocaba… quando selecionar uma delas preciso enviar para outra pagina e mostrar só essas só os produtos dessa cidades..

    Alguém tem ideia, sem usar plugin…

Visualizando 1 resposta (de um total de 1)
  • oi,

    Existem alguns jeitos de fazer isso, vou colocar um simples:

    Se vc está numa listagem do post type produtos (digamos no template archive-produtos.php e no endereço seusite.com/produtos) você pode fazer o combo direcionar para algo como seusite.com/produtos?cidade=santos

    Aí vc pode usar o hook pre_get_posts para filtrar o seus posts nessa listagem caso haja esse variável na url. Algo como:

    add_action('pre_get_posts', function($query) {
    
        if ( $query->is_post_type_archive('produtos')  && $query->is_main_query() && !is_admin() && isset($_GET['cidade']) ) {
            $query->set('meta_key', 'cidade');
            $query->set('meta_value', $_GET['cidade']);
            $query->set('posts_per_page', -1);
        }
    
    });

    Coloquei o posts_per_page = -1 pra facilitar a sua vida e tirar a paginação, se não vc vai ter que tratar isso também. Isso é só um exemplo simples, vc vai ter que trabalhar em cima.

    O jeito mais elegante de fazer é criando uma rewrite rule específica. Vc poderia ter seusite.com/produtos/sao-paulo, por exemplo. dá uma olhada em http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

    Ajudou?

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Usar Campo Personalizado em um Select combo’ está fechado para novas respostas.