Suporte » Desenvolvendo com WordPress » Loop 'while' se a 'categoria' contiver posts

  • Resolvido crlsilva

    (@crlsilva)


    Boa Tarde amigos

    Estou amargando um problema que não consigo encontrar uma solução.

    Preciso executar um loop, levando em consideração que a ‘categoria’ contenha ou não posts, ou seja, se estiver vazia, não executaria…

    por exemplo:

    <?php while (have_posts()) : the_post(); ?>

    porém, checando a categoria e não o post propriamente dito…

    algo assim (é só um exemplo grosseiro viu! rsrs):

    <?php while (have_categoria()); if(!empty(categoria)){ executa o código; } ?>

    Não consegui encontrar uma forma de fazer esta checagem… alguém pode me ajudar?

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Pra qual finalidade você quer fazer esse loop? Pelo que entendi num primeiro momento, você pode estar utilizando a função wp_list_categories() para exibir as categorias.

    Se não for essa a solução, fale mais sobre o que deseja fazer.

    Abraços

    Criador do tópico crlsilva

    (@crlsilva)

    Pois é… veja bem, wp_list_categories() exibe as categorias, mas eu preciso executar um loop, checando se a categoria contém posts.
    Assim, o que ocorre é que no site que estou desenvolvendo:
    http://lupusalimentos.com.br/guia
    contém raças de cães para todos as letras do alfabeto, exceto para “Q” e “U”, assim, eu tive que criar posts padrões para incluir nestas categorias, caso contrário, as raças a partir de “Q” não são exibidas… até aí tudo bem, resolvi fácil pois se tratava de poucas categorias, porém, estou fazendo um guia de raças de gatos e tem muito mais categorias sem raças, assim, eu teria que ficar mudando o código fonte toda vez que eu incluir um post em uma nova categoria (Categoria = Letra do Alfabeto).

    Criador do tópico crlsilva

    (@crlsilva)

    Eu encontrei um lasso exemplo na documentação do wordpress que talvez seja o que preciso:

    foreach((get_the_category()) as $category){
        echo  'ID Categoria: ' .$category->cat_ID . ' — Nome Categoria: ' . $category->cat_name . '<br />' ;
    }

    porém, aqui pra mim ele lista apenas uma categoria. o que eu poderia estar fazendo de errado, já tenho mais categorias com posts publicados.

    Criador do tópico crlsilva

    (@crlsilva)

    Achei!

    foreach(get_categories( $r ) as $categoria){
        echo 'Categoria: ' . $categoria->cat_name . '<br />';
    }

    Valeu pela força Daniel. Abraço,

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Loop 'while' se a 'categoria' contiver posts’ está fechado para novas respostas.