Fórum Brasileiro

query_post conflito com pagenavi (3 posts)

  1. dubxenon
    Membro
    Publicado 2 semanas atrás #

    Se alguém puder ajudar....

    Seguinte, eu queria que a função search do blog buscasse resultados apenas nas categorias, e não nas páginas, sendo assim adicionei esse código abaixo no arquivo search.php dentro do theme utilizado.

    <?php if( is_search() ) :
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("s=$s&paged=$paged&cat=5,6,7,8,9,10,11,12,13,");
    endif; ?>

    Resultado: funcionou quase tudo perfeito, as buscas passaram realmente a ser efetuadas somente nas categorias listadas e não nas páginas. MAS, ALGUMAS, não todas, palavras que digito para fazer a busca (palavra que tenha nas páginas e não nas categorias), aparece o conflito com o pagenavi.

    Adicionei 2 imgs para entenderem melhor:

    Palavra 1 que tenha na página:
    http://img149.imageshack.us/img149/8400/img1pagenaviquerypost.jpg

    Palavra 2 que tenha na página:
    http://img214.imageshack.us/img214/9697/img2pagenaviquerypost.jpg

    Resumindo: eu queria que essa parte do código funcionasse também para quando se busca palavras que contenham nas páginas.

    <?php else : ?>
    <h2 class="pagetitle">Nenhum resultado encontrado.</h2>
    <p>Tente realizar outra busca.</p>
    <?php endif; ?>

    Exemplo: quando efetuo uma busca por uma palavra que não existe no blog, nem nas categorias e nem nas páginas, o código funciona perfeito como abaixo:

    http://img215.imageshack.us/img215/7028/img3pagenaviquerypost.jpg

    Aqui segue o link do arquivo search.php que estou utilizando no theme.
    http://www.4shared.com/account/file/147026452/49a8b52e/search.html

  2. dubxenon
    Membro
    Publicado 2 semanas atrás #

    O que preciso é que quando se faz uma busca por qualquer palavra, que não exista, ou que não contenha nas "páginas", que retorne a esse código da imagem abaixo:

    <?php else : ?>
    <h2 class="pagetitle">Nenhum resultado encontrado.</h2>
    <p>Tente realizar outra busca.</p>
    <?php endif; ?>

    http://img145.imageshack.us/i/img3pagenaviquerypost.jpg

  3. dubxenon
    Membro
    Publicado 2 semanas atrás #

    uma outra opção totalmente diferente da citada acima, foi essa de adicionar umas linhas de comando somente no arquivo functions.php

    function SearchFilter($query) {
    if ($query->is_search) {
    $query->set('cat','5,6,7,8,9,10,11,12,13');
    }
    return $query;
    }
    add_filter('pre_get_posts','SearchFilter');

    Sendo assim, as buscas só são feitas nas categorias listadas, mas ocorre um outro problema, que seria de mostrar somente 10 resultados (não funcionando o pagenavi)....

Resposta

Você deve fazer login para publicar.

About this Topic