Madly Luv - O mLuv é um blog pessoal no qual aborda vários assuntos como design, músicas, literatura, arte, televisão etc. Desenvolvido e mantido por Ana Flávia Cador.

WP: Posts em resumo (excerpt)

Tutorial Wordpress

Na verdade, não é beem um resumo. Isso é apenas uma tag chamada Excerpt que são as primeiras palavras de um determinado post. Muitas pessoas já me perguntaram como eu fazia isso e então nada melhor do que um tutorial. :)

Você pode usar a tag Excerpt no index.php, fazendo com que apareça um pedacinho do(s) post(s) passado(s). Para fazer isso, basta seguir este código:

<?php $lastposts = get_posts('numberposts=2&offset=1');foreach($lastposts as $post) :
setup_postdata($post); ?>

<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>, escrito por <?php the_author(); ?>"> <?php the_title(''); ?></a>
Por <?php the_author_link(); ?> em <?php the_time('d/m/y',true); ?> &agrave;s <?php the_time('H:i',true); ?>
<?php the_excerpt(); ?>
<?php endforeach; ?>

Na verdade isso é só uma base para você ter ideia de como montar. Onde tem numberposts=2 quer dizer que irá aparecer o penúltimo e antepenúltimo post. Se você quiser que apareça apenas o penúltimo post escrito é só mudar o 2 para 1. E você irá este código antes de <?php endwhile; ?>.

Para você ter uma ideia e quiser deixar seu blog mais diferente, a tag the_excerpt(); muitas vezes entra no lugar da tag the_content();. Eu uso ela para aparecer mais dos meus arquivos (em search.php e archive.php) quando seleciona uma determinada categoria, porque em vez de aparecer o post inteiro, aparece apenas seu início. Há quem use em todos os seus posts, inclusive na index.php, substituindo o the_content(); por the_excerpt(); para aparecer mais posts na página inicial.

Caso você queira mudar o número de palavras para deixar o excerpt mais curto ou mais longo, é só você abrir o arquivo functions.php de seu tema e adicionar este código:

function new_excerpt_length($length) {
return 70;
}
add_filter('excerpt_length', 'new_excerpt_length');

Notou que há o número 70? Esse é o número de palavras que irá aparecer no excerpt. Se quiser menor, é só diminuir para 40 por exemplo. O padrão do excerpt sem o function é 55 palavras.

E prontinho! É somente isso ;D

Veja também...

Resenha: Protetor Solar Perfect Bright Milk, da Bioré
Além da Henna: Como ter reflexos dourados com Cassia Obovata
As ilustrações de Pauline (a.k.a. Punziella)

8 Comentário(s)

(8 pelo blog e pelo facebook)
  • Ana
    25 . 02 . 2017

    Aqui deu certo, mas ele mantém os mesmos posts em excerpt mesmo quando muda de página. Como faço pra deixar igual ao seu (a partir da pág. 2 ele mostra o restante dos posts em resumo)?

    Responder

    • Aninha
      Visitar blog
      01 . 03 . 2017

      Oi, Ana! Para o que você quer este tutorial não será o suficiente pois ele pega todos os posts em si. Pra fazer essa modificação que você deseja é preciso alterar toda a lógica do código do loop do post. Eu ainda preciso fazer este tipo de tutorial em portugues, mas você acha em em inglês no Google. Utilize termos como "first post full and rest by excerpt" que você encontrará. :)

      Responder

  • Carol
    10 . 12 . 2015

    Ana,
    Tentei fazer mas não deu certo, o post continuou completo, e apareceu o resumo depois do post. No aquivo index do seu tema não tem a tag except.

    Responder

    • Aninha
      Visitar blog
      15 . 12 . 2015

      @Carol, mas essa é a função do tutorial :) A ideia do tutorial é mostrar o resumo do post anterior ao atual. Se você quer todos os posts em resumo retire todo o código que você adicionou seguindo esse tutorial e substitui a tag the_content(); por the_excerpt();

      Responder

  • Danny Carey
    Visitar blog
    13 . 08 . 2015

    Oi Ana td bem? eu faço manualmente clicando em more, só queria saber como personalizar esta tag que ja tem no wp. bjs

    Responder

    • Aninha
      Visitar blog
      14 . 08 . 2015

      @Danny Carey, tem como personalizar sim! Eu iria fazer um tutorial, mas como é bem simples já colo aqui para você. É uma função bem curtinha. É só isso que vc precisa mexer:

      function afc_readmore() {
        return '<a class="read-more" title="Clique aqui e saiba mais" href="'.get_permalink().'">Mostrar mais</a>';
      }
      add_filter( 'the_content_more_link', 'afc_readmore' );

      Você pode modificar o texto, adicionar classe de css diferente etc. Basta colocar esta função acima em functions.php

      Responder

  • Danny Carey
    Visitar blog
    14 . 07 . 2015

    Oi Aninha td bem? encontrei seu blog através do blog morando sozinha da fran e já amei estar aqui. Lindo seu blog, posts muito uteis e tudo muito organizado.
    Queria saber se esse tutorial vale pra deixar somente a página da categoria resumida ou se vale para o blog todo.
    bjs

    Responder