Como limitar o comprimento do Excerpt para os trechos de descrições no WordPress

Uma boa maneira para deixar o seu site mais bonito, sem dúvidas, é limitar o comprimento do Excerpt para queles trechos de descrições no WordPress. Isso pode ser útil para trechos de categorias, arquivos e tags em qualquer tema para blogs WP.

Você pode limitar o tamanho do trecho denominado Excerpt, no WordPress controlando o número de palavras. Além disso pode limitar também pelo número de caracteres usando a Referência do filtro de tamanho de trecho (excerpt_length).

Do mesmo modo, você também pode limitar o tamanho do Excerpt de publicação escrevendo seu próprio trecho personalizado. E a tag Leia mais no final do Excerpt pode ser adicionada com todos os métodos.

É sempre benéfico exibir trechos de conteúdos com limitação de Excerpt na página de índice do seu blog ou site. Isso é importante, para destacar os principais pontos do seu artigo ou postagem no blog. Visitantes podem gostar de ler esse pequeno trecho e clicarem no link para ler o conteúdo completo.

Veja como limitar o comprimento do excerpt

3 Métodos para limitar o comprimento do Excerpt no WordPress

Todos os códigos dos 3 métodos podem funcionar para a maioria dos temas mais modernos do WordPress. Porém, se você encontrar algum erro, tente inserir o que realmente funcionar para seu tema.

Limitar o comprimento do trecho por quantidade palavras-chave

Por padrão, o tamanho do excerto é definido como 55 palavras no WordPress. Use este filtro de tamanho do trecho para alterar o comprimento do trecho para 35 palavras. Adicione o código no arquivo functions.php do seu tema.

// exerpt wpfoco
function tn_custom_excerpt_length( $length ) {
return 35;
}
add_filter( 'excerpt_length', 'tn_custom_excerpt_length', 999 );

O código acima vai criar reticências após a quantidade de 25 palavras. No entanto, essa quantidade pode ser alterada, para o tamanho que o dono do site desejar.

Agora adicione o seguinte código no loop.php ou onde você deseja exibir o trecho limitado do excerpt.

<?php echo get_excerpt(); ?>

Se estiver usando plugin de cache, limpe o cache para vê-lo funcionando imediatamente.

Limitar o tamanho do Excerpt por quantidade caracteres

Com este método, independente da quantidade de palavras, ele exibe uma quantidade de caracteres, mas não cortará uma palavra. Por exemplo: se você tem palavras grandes no ponto de corte, ele pode exibir menos caracteres do que o que foi definido, para ajustar o trecho de conteúdo.

Você só precisa adicionar o seguinte código no arquivo function.php e a função no loop como a seguir:

// limitar o excerpt pela quantidade de caracteres - wpfoco
function get_excerpt( $count ) {
$permalink = get_permalink($post->ID);
$excerpt = get_the_content();
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, $count);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = '<p>'.$excerpt.'... <a href="'.$permalink.'">Leia Mais</a></p>';
return $excerpt;
}

Esse código também adicionará um link Leia mais no final do trecho. Você pode renomear conforme sua escolha.

Agora, adicione essa função inserindo o código abaixo em seu loop.php, ou index.php, ou ainda category.php logo após o título da postagem <?php the_title(); ?>. Mude o número se desejar mais de 150 caracteres ou menos.

<?php echo get_excerpt(150); ?>

Agora vamos ver o terceiro método.

Limitar o Excerpt pós-WordPress no número de palavras

Use este código se você quiser limitar o comprimento do excerto após o número de palavras. Basta colar em functions.php.

// Excerpt wpfoco para exibir os caracteres depois da quantidade de palavras
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;
}
function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'...';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/[.+]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]&gt;', $content);
return $content;
}

Chame essa função adicionando o código abaixo no loop, ou na página em que deseja exibir o excerpt. Você pode alterar o limite de palavras alterando o valor.

<?php echo excerpt(40); ?>

Filtro excerpt_more para adicionar o link Leia mais após o trecho

No Método-2, você deve ter notado, que adicionamos uma tag Leia mais. Ela será adicionada após o Excerpt. Mas, se você usar o Método 1, ou 3, precisará chamar este link separadamente, adicionando uma função separada ao seu arquivo functions.php. Portanto, para obter um link para ler mais, insira o código abaixo no arquivo functions.php após o código do limite de pós-trecho.

// excerpt more wpfoco LEIA MAIS
function tn_excerpt_more( $more ) {
return sprintf( '<a class="read-more" href="%1$s">%2$s</a>',
get_permalink( get_the_ID() ),
__( 'Read More', 'textdomain' )
);
}
add_filter( 'excerpt_more', 'tn_excerpt_more' );

Com tudo feito, agora você já pode desfrutar de todas as descrições do site, que obrigatoriamente seguirão os limites estabelecidos nestas funções. Em alguns casos seu tema pode ter a meta descrição e ela pegará o Excerpt do tema para definir a descrição de SEO da meta_description. Por fim, é bom ficar atento a isso, para adicionar limites compatíveis com as descrições de Search Engine Optimization.

1 Comentário
  1. Muito bom os códigos! Eu usei o método 2 e funcionou bem, porem, o link (Leia Mais) gera um erro ao visualizar a postagem... é como se o CSS tivesse desaparecido. Eu retirei a parte do código que cria o LEIA MAIS e coloquei o meu próprio LEIA MAIS e funcionou perfeito.

    Grato pela postagem! Ajudou bastante

Deixe uma Comentário


Temas Blog
Logo