Suporte » Desenvolvendo com WordPress » if (post == cat1 and cat2); echo show post;

  • Resolvido DomLeleABC

    (@domleleabc)


    Saudações amigos, boa noite!

    Sou novo aqui e estou criando um tema, porém, já estou com uma duvida que acredito ser avançada pois não encontrei em lugar nenhum uma resposta para isso, não sei se o titulo do post está correto mas a idéia é mais ou menos essa.

    Preciso exibir um post na página category.php apenas se ele estiver marcado em duas categorias “if (post == cat1 and cat2); echo show post;” por exemplo:

    Tenho as categorias 1-Equipamentos, 2-Serviços e 3-Dicas.
    Na categoria 3 serão postadas dicas sobre as categorias 1 e 2 (posteriormente terá mais categorias).

    Preciso que quando o usuário acesse a categoria 1 sejam exibidas as dicas relacionadas apenas à categoria 1 e quando acessar a categoria 2
    sejam exibidas as dicas relacionadas apenas à categoria 2.

    Obs: As dicas serão exibidas antes da listagem dos posts da categoria ativa.

    Alguém saberia me dizer qual a melhor forma de fazer isso ou tem uma solução?

    Agradeço pela atenção de todos.

Visualizando 1 resposta (de um total de 1)
  • Criador do tópico DomLeleABC

    (@domleleabc)

    Saudações amigos, boa tarde!

    Encontrei uma solução, não sei se é a melhor, porém, aparentemente esta atendendo minha necessidade, vou deixar a solução que encontrei para ajudar alguém que possa precisar.

    Optei por utilizar uma subcategoria (dicas) para cada categoria (Equipamentos e Serviços).

    Para chamar os posts da subcategoria dentro da página category.php antes dos posts da categoria ativa usei o seguinte código:

    <?php
    $catid = $wp_query->query_vars[‘cat’];
    $cat_family = array_reverse(explode(‘,’,get_category_parents($catid,false,’,’)));
    $categories = get_categories(‘child_of=’.”$catid”.”);
    ?>

      <?php foreach ($categories as $category){
      query_posts( ‘showposts=1&cat=’.$category->cat_ID );
      ?>
      <?php while (have_posts()) {the_post(); ?>

    • <h1><?php the_title();?></h1>
      <p><?php the_content();?></p>
    • <?php } } ?>

    Se alguém encontrar uma solução melhor e puder compartilhar seria interessante.

    Abraços

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘if (post == cat1 and cat2); echo show post;’ está fechado para novas respostas.