• Resolvido andresoares

    (@andresoares)


    Olá pessoal,

    Estou criando um tema e pretendo exibir 6 posts fixos na página inicial, que seriam 6 produtos conforme podem ver nesse print: http://tinyurl.com/cmjwhpq

    Pra começar não sei como chamar o post na index, eu criei um post no admin e colei o seguinte código na index: <?php if (have_posts()) : while (have_posts()) : the_post(); ?>, porém o post não aparece. É necessário incluir algum código adicional? Lembrando que eu gostaria que esses posts sejam fixos.

    Agradeço se alguém puder ajudar!

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • <div class="loop">
    <!--AQUI É O CÓDIGO QUE VOCÊ JÁ TEM-->
                <?php  while ( have_posts() ) : the_post(); ?>
                        <div <?php post_class(); ?>>
    
                <!--AQUI VAI CHAMAR A IMAGEM DESTACADA EM MINIATURA-->
                            <div class="entry">
                                <a class="thumbnail" href="<?php the_permalink() ?>" rel="bookmark"><?php the_post_thumbnail(); ?></a>
                            </div>
    
             <!--AQUI CHAMA O TÍTULO DO POST-->
                            <h4 style="font-size:20px;"><a style="color: #A81515;" href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h4>
    
                            <!--AQUI CHAMA O RESUMO DO TEXTO-->
                            <?php the_excerpt(); ?>
    
    <!--DIV QUE CHAMA O READ MORE (LEIA MAIS)-->
    <div style="float:left;>"><a href="<?php the_permalink() ?>" rel="bookmark">Leia mais...</a>              
    
    <!--MOSTRAR DATA DO POST-->
    <div style="float: right; font-weight: bold; color: #000;"><?php the_time('j \d\e F \d\e Y') ?></div></div>
                        </div>
    
      <!--FINALIZA TUDO-->
                <?php endwhile; ?>
    
                </div><!-- .lopp -->

    Agora, para que isso apareça do jeito que você quer você precisa adicionar os IDs e Classes no CSS de acordo com o desejado 🙂

    Espero ter ajudado

    Criador do tópico andresoares

    (@andresoares)

    Obrigado!

    Criador do tópico andresoares

    (@andresoares)

    Olá Paula, obrigado pela ajuda, mas depois que eu abri esse tópico conheci o plugin Advanced Custon Fields, e estou tentando incluir os posts fazendo uso do mesmo. Para cada post criei quatro campos personalizados, que são: título, imagem, descrição e preço, acontece que não estou conseguindo mostrar mais do que um post na página inicial, e tenho certeza de que a forma que estou chamando os posts não é a correta. Vou explicar pra vocês como eu fiz.

    Como podem ver, na imagem existem seis produtos em destaque, e quero fazer com que cada um deles seja um post: http://tinyurl.com/d86fraa
    Através do Advanced Custon Fields criei os seguintes campos para o post 1:

    • titulo_dest1
    • img_dest1
    • desc_item1
    • preco_dest1

    E na index.php estou chamando os valores dos campos da seguinte maneira:

    <div id="conteudo">
        <section class="destaques col1">
           <?php $titulo1 = get_field('titulo_dest1'); //Armazenando a variável ?>
           <?php if(get_field('titulo_dest1')) { echo '<h4>' . '<span>' . $titulo1 . '</span>' . '</h4>'; } ?>
          <!-- End Título Destaques --> 
    
          <img src="<?php the_field('img_dest1'); ?>" alt="" />
          <!-- End Imagem Destaques -->
    
          <ul class="desc-destaques">
            <?php $desc1 = get_field('desc_item1'); //Armazenando a variável ?>
            <?php if(get_field('desc_item1')) { echo '<li>' . '<span>' . $desc1 . '</span>' . '</li>'; } ?>
            <?php $desc2 = get_field('desc_item2'); //Armazenando a variável ?>
            <?php if(get_field('desc_item2')) { echo '<li>' . '<span>' . $desc2 . '</span>' . '</li>'; } ?>
            <?php $desc3 = get_field('desc_item3'); //Armazenando a variável ?>
            <?php if(get_field('desc_item3')) { echo '<li>' . '<span>' . $desc3 . '</span>' . '</li>'; } ?>
            <?php $desc4 = get_field('desc_item4'); //Armazenando a variável ?>
            <?php if(get_field('desc_item4')) { echo '<li>' . '<span>' . $desc4 . '</span>' . '</li>'; } ?>
            <?php $desc5 = get_field('desc_item5'); //Armazenando a variável ?>
            <?php if(get_field('desc_item5')) { echo '<li>' . '<span>' . $desc5 . '</span>' . '</li>'; } ?>
            <?php $desc6 = get_field('desc_item6'); //Armazenando a variável ?>
            <?php if(get_field('desc_item6')) { echo '<li>' . '<span>' . $desc6 . '</span>' .  '</li>'; } ?>
            <?php $desc7 = get_field('desc_item7'); //Armazenando a variável ?>
            <?php if(get_field('desc_item7')) { echo '<li>' . '<span>' . $desc7 . '</span>' . '</li>'; } ?>
          </ul>
          <!-- End Descrição Destaques -->
    
          <?php $preco1 = get_field('preco_dest1'); //Armazenando a variável ?>
          <?php if(get_field('preco_dest1')) { echo '<p>' . $preco1 . '</p>'; } ?>
          <!-- End Preço Destaques -->
        </section>
        <!-- End Section 1 -->
    
        <section class="destaques">
           <?php $titulo2 = get_field('titulo_dest2'); //Armazenando a variável ?>
           <?php if(get_field('titulo_dest2')) { echo '<h4>' . '<span>' . $titulo2 . '</span>' . '</h4>'; } ?>
          <!-- End Título Destaques --> 
    
          <img src="<?php the_field('img_dest2'); ?>" alt="" />
          <!-- End Imagem Destaques -->
    
          <ul class="desc-destaques">
            <?php $desc8 = get_field('desc_item8'); //Armazenando a variável ?>
            <?php if(get_field('desc_item8')) { echo '<li>' . '<span>' . $desc8 . '</span>' . '</li>'; } ?>
            <?php $desc9 = get_field('desc_item9'); //Armazenando a variável ?>
            <?php if(get_field('desc_item9')) { echo '<li>' . '<span>' . $desc9 . '</span>' . '</li>'; } ?>
            <?php $desc10 = get_field('desc_item10'); //Armazenando a variável ?>
            <?php if(get_field('desc_item10')) { echo '<li>' . '<span>' . $desc10 . '</span>' . '</li>'; } ?>
            <?php $desc11 = get_field('desc_item11'); //Armazenando a variável ?>
            <?php if(get_field('desc_item11')) { echo '<li>' . '<span>' . $desc11 . '</span>' . '</li>'; } ?>
            <?php $desc12 = get_field('desc_item12'); //Armazenando a variável ?>
            <?php if(get_field('desc_item12')) { echo '<li>' . '<span>' . $desc12 . '</span>' . '</li>'; } ?>
            <?php $desc13 = get_field('desc_item13'); //Armazenando a variável ?>
            <?php if(get_field('desc_item13')) { echo '<li>' . '<span>' . $desc13 . '</span>' .  '</li>'; } ?>
            <?php $desc14 = get_field('desc_item14'); //Armazenando a variável ?>
            <?php if(get_field('desc_item14')) { echo '<li>' . '<span>' . $desc14 . '</span>' . '</li>'; } ?>
          </ul>
          <!-- End Descrição Destaques -->
    
          <?php $preco2 = get_field('preco_dest2'); //Armazenando a variável ?>
          <?php if(get_field('preco_dest2')) { echo '<p>' . $preco2 . '</p>'; } ?>
          <!-- End Preço Destaques -->
        </section>
        <section class="destaques col1">
        </section>
        <section class="destaques">
        </section>
        <section class="destaques col1">
        </section>
        <section class="destaques">
        </section>
      </div>

    Como comentei, está aparecendo apenas um post, que é o cadastrado mais recentemente. Acredito que o código acima está muito grande, deve ser possível fazer o que estou querendo com poucas linhas de código não é? Estou usando a tag section para abrigar o conteúdo de cada post, é possível mostrar esse conteúdo da forma que estou fazendo ou eu devo criar um loop? É possível utilizar essa tag criando um loop?

    Enfim, gostaria de poder contar com a ajuda de quem entende.

    Obrigado!

    Criador do tópico andresoares

    (@andresoares)

    Olá pessoal,

    Consegui resolver o problema, realmente não há a necessidade de usar todo o código acima, eu achava que precisaria criar um campo personalizado para cada post, por exemplo, o campo “Título Destaque” teria seis variações:

    Título Destaque (titulo_dest1, titulo_dest2, titulo_dest3, titulo_dest4, titulo_dest5, titulo_dest6 )

    Porém, isso não é preciso, a forma correta é criar apenas um campo e definir a seguinte regra na hora da criação do mesmo através do plugin ACF: “Taxonomia de Post é igual a Nome da Categoria dos Posts”
    Isso faz com que o campo seja associado a categoria em que o post foi cadastrado.

    E por fim chamei os posts usando a função WP_Query.

    Obrigado por sua atenção Paula Bonot.

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Mostrar posts na página inicial’ está fechado para novas respostas.