Como montar um formulário de busca no WordPress, filtrando por categoria ou taxonomia


Postado em 10 de maio de 2016 por | Categorias: Busca | Tags: , , | Sem comentários » | Comentar


Nos temas de WordPress é comum ter o arquivo searchform.php que possui o formulário de busca nativo do sistema. Neste artigo vamos ver como editar esse formulário colocando um filtro por categoria ou taxonomia automaticamente se o visitante estiver na página de categoria ou de taxonomia do site.

Código do formulário de busca (searchform.php)

<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    <input type="text" name="s" id="s" class="input_busca" value="busque aqui" />
    <input type="submit" name="submit" id="searchsubmit" class="input_busca_enviar" value="Buscar" />
</form>

Primeiro é necessário determinar se o visitantes esta na página de categoria (category.php) ou em uma página de taxonomia (taxonomy.php). Depois altere o formulário de busca inserindo os campos hidden para categoria e taxonomia, estes campos vão ser os filtros da busca, abaixo o código completo:

<?php
// pega Slug e ID da categoria corrente
$categoria = get_term_by('name', single_cat_title('',false), 'category'); 
$categoria_sel = $categoria->slug;
$categoria_id_sel = get_query_var('cat');

// pega Slug da taxonomia corrente
$coluna = get_term_by('name', single_cat_title('',false), 'coluna'); 
$coluna_sel = $coluna->slug;
?>
<form role="search" method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    <input type="search" placeholder="Para onde você quer ir?" value="" name="s" title="Para onde você quer ir?">
    <?php if ($categoria_sel != ""){ ?>
        <input type="hidden" name="cat" value="<?php echo $categoria_id_sel; ?>" />
    <?php } ?>

    <?php if ($coluna_sel != ""){ ?>
        <input type="hidden" name="taxonomy" value="coluna" />
        <input type="hidden" name="term" value="<?php echo $coluna_sel; ?>" />
    <?php } ?>                    
    <button type="submit" class="fa fa-search t t-op"></button>
</form>

Obs.: o nome “coluna” que aparece no código é o nome da taxonomia personalizada, basta trocar para o nome da taxonomia criada em seu site.

 

Share

Categorias

Links

Tags

Autor do post bloginfo() Caminho do tema Campos Personalizados Categorias Codificação UTF8 Contac form 7 CSS Custom fields Custom Post Types data Dividir string explode() Formatação de datas Formatação de Hora get_ get_option() get_page_template() get_the_terms get_the_title() Hora IMG is_single() Janelas Links Lista de Categorias Lista de Posts Lista de ùltimos posts location.href Paginação Post_name Query_posts register_sidebar Sidebar the_author_nickname() the_category() the_tags() the_time() Titulo da página UFT8_encode UTF8 UTF8_decode Widgets wp_list_categories() âncoras

Copyright © 2024  |   W-Pedia – Wikipedia Wordpress BR  |  produzido por Henderson C. Torres