Suporte » Ajustando o WordPress » Fazer com que a Pesquisa encontre as Tags e os Custom Fields Personalizados

  • Amigos desenvolvi um theme e no single.php codifiquei para que imprima os campos personalizados e estes deram certo, o problema que encontrei foi é que quando pesquiso o nome Pai, Mãe ou Filho os mesmo não são filtrado e as tags também se pesquiso não aparecem no resultado das pesquisas.

    Pergunto como faço para que o Custom Fields e as Tags apareçam na pesquisa.

    Código abaixo é o que coloquei no single.php para imprimir as Custom Fields

    <?php $nomePai = get_post_meta($post->ID, 'nomePai', true); ?>
    <?php $nomeMae = get_post_meta($post->ID, 'nomeMae', true); ?>
    <?php $sexo = get_post_meta($post->ID, 'sexo', true); ?>
    <?php $categoria = get_the_category();
    
    <p class="paragrafo_especial">Raça: <?php echo $nomeCategoria;?></p>
    <p class="paragrafo_especial">Pai: <?php echo $nomePai; ?></p>
    <p class="paragrafo_especial">Mãe: <?php echo $nomeMae; ?></p>
    <p class="paragrafo_especial">Sexo: <?php echo $sexo; ?></p>

    Fico no aguardo

    Obrigado

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Criador do tópico cyberlacs

    (@cyberlacs)

    Será que alguém pode me ajudar, estou precisando muito deste recurso, já procurei no Google e não consegui encontrar nada por se tratar de um assunto novo para mim, Eu sempre trabalhei com Joomla mas hoje vejo que o WordPress é uma ferramenta mais maleável e fácil de mexer.

    Gostaria muito que alguém do fórum colaborasse

    Fico no aguardo.

    Obrigado

    cyberlacs,

    você vai precisar filtrar a busca antes dos resultados chegarem ao navegador. Pra isso você pode usar o filtro pre_get_posts, que expõe todas as variáveis da query antes de ela ser executada.

    Exemplo:

    add_action('pre_get_posts','wp3001_busca');
    
    function wp3001_busca($query) {
    
        $nomePai = $_POST['nomePai'];
    
        if(is_search()) {
            $query->query_vars['meta_key'] = 'nomePai'; // Restringe a busca ao campo 'nomePai';
            $query->query_vars['meta_value'] = $nomePai; // Com esse valor;
        }
    
    }

    Criador do tópico cyberlacs

    (@cyberlacs)

    Ricardo este exemplo que você postou devo coloca-lo no function.php e no searchform.php enviar pesquisa por referencia é isso ?

    Fico no aguardo

    Agradeço desde já.

    Obrigado por responder

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘Fazer com que a Pesquisa encontre as Tags e os Custom Fields Personalizados’ está fechado para novas respostas.