Função para limitar facilmente os caracteres do the_excerpt()

30/04/10 Wordpress 15

A função the_excerpt() do WordPress retorna o conteúdo do campo Resumo do post ou se o campo resumo estiver vazio retorna um certo número de caracteres do corpo do texto.

Abaixo segue uma função que facilitará que você controle vários limites de caracteres no seu template.

1. Insira o código abaixo no arquivo functions.php do seu tema:


function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}

2. Agora para usar a função no seu tema insira o código abaixo onde você quiser limitar com um número específico de caracteres o resumo do post.

<?php echo excerpt(50); ?>

12 Comments

  1. ipsum
    Posted outubro 3, 2011 at 8:37 pm | Permalink

    Mateus. Parabéns.
    Funcionou legal, porém aqui, tanto essa forma, como as dos plugins, está provocando a seguinte situação:
    Os resumos são apresentados, porém todos os estilos definidos pelo CSS, que funciona ok com o “content” se perde com o “excerpt”. Você tem alguma dica?

  2. Posted agosto 24, 2011 at 9:31 am | Permalink

    Parabéns e obrigado. Sempre uso o the excerpt, porém havia esquecido como funcionava. Valeu!

  3. TheJunior
    Posted maio 9, 2011 at 4:24 pm | Permalink

    isso me ajudou muito… tava precisando disso ja faz um tempo… valeu, manolo!!!!

  4. Plik
    Posted março 16, 2011 at 5:26 am | Permalink

    Perfeito, com esse esquema nem preciso do plugin Evermore, no WordPress, e posso personalizar diferentes número de caracteres para cada tipo de página. Maravilha cara, valeu!!

  5. Posted janeiro 10, 2011 at 4:37 pm | Permalink

    Cara valeu mesmo salvou minha vida! rsrs

  6. Posted julho 13, 2010 at 4:03 pm | Permalink

    Funcionou!, desculpe, parabéns!
    Só não entendo pq ele não pega exatamente a quantidade de caracteres que eu enviei no parêmtro.

    • admin
      Posted julho 14, 2010 at 10:03 am | Permalink

      Bom isto acho que eu nunca reparei, vc esta contando com os espaços entre os caracteres, eles são contados também como caracteres.

  7. Posted julho 13, 2010 at 3:56 pm | Permalink

    Essa função não funcionou no 3.0

    • admin
      Posted outubro 7, 2010 at 12:14 am | Permalink

      Pode ser alguma outra coisa, que esta afetando o funcionamento pois eu tenho varios sites usando o WordPress 3 com esta função.

  8. Posted julho 7, 2010 at 1:57 pm | Permalink

    Interessante este artigo.
    Você saberia me dizer como evitar que a função
    “the_excerpt” não seja incluida dentro de um paragrafo?

  9. Luiz
    Posted maio 11, 2010 at 3:25 pm | Permalink

    Olá. Sou completamente leigo no assunto… posto textos no wordpress e aparece o texto inteiro na home. Queria que ficasse só um resumo ou um trecho pequeno… e que quando clicasse no título ou no texto ele fosse pra nova página com o texto completo. Pode me ajudar a fazer isso? Não tenho nem idéia de onde inserir os comandos que colocou acima.
    Obrigado

  10. Posted maio 11, 2010 at 4:33 am | Permalink

    Perfeito! Obrigado!!!

3 Trackbacks

  1. [...] Visto en Função para limitar facilmente os caracteres do the_excerpt() [...]

  2. [...] Créditos Mateus Neves <!–PEGAR OS 3 ÚLTIMOS POSTS DA CATEGORIA NOVIDADES EXIBIR O RESUMO COM 30 CARACTERES–> <?php query_posts(‘category_name=Novidades&showposts=3&orderby=date’); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> [...]

  3. [...] http://www.mateusneves.com Name Email Website [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>