Mostrar posts na página inicial
-
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!
-
<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
Obrigado!
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!
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.
- O tópico ‘Mostrar posts na página inicial’ está fechado para novas respostas.