Personalizando o resumo(the_excerpt) do WordPress

Um dos recursos que o WordPress oferece na leitura do conteúdo do post é a função de resumo(the_excerpt()), No painel editar post existe um campo chamado resumo. Mas nas versões 3.1 ou superiores do wordpress esta função ficou oculta. Para exibir esta opção vá em opções de tela no canto superior direito dentro do painel de posts, como na imagem abaixo:

Fazendo isso um campo de resumo aparecerá em sua página de edição de post:

Cadastrando essa informação, se você quer exibi-lá é só utilizar a função the_excerpt() dentro de seu loop.

Se o campo resumo não for definido, o WordPress criará um resumo automaticamente através do que foi postado no conteúdo principal de seu post. Por padrão esse resumo automático possui 55 caracteres, para alterar essa quantidade de caracteres de palavras temos que adicionar um função no arquivo functions.php em seu tema. O functions.php resumindo em meias palavras é o arquivo que define algumas funções extras do seu tema, além de criar menus, shortcodes e adicionar filtros para conteúdo como vamos fazer agora. Então, utilizando a função add_filter ela ajuda a modificar a saída de algumas informações no WordPress.

Para editar o tamanho do resumo adicionamos o seguinte código no functions.php :

function novo_tamanho_do_resumo($length) {
	return 30;
}
add_filter('excerpt_length', 'novo_tamanho_do_resumo');

No código acima modificamos o tamanho do resumo de 55(valor padrão) para 30 caracteres.

Quando não cadastramos nada no campo resumo, o WordPress resgata parte do conteúdo do post e adiciona no final do resumo […] para sinalizar que o possui mais texto naquele conteúdo. Para modificar essa sinalização também dentro do functions.php adicionamos o seguinte filtro:

//Para versões 2.9 ou superiores

function new_excerpt_more($more) {
	return '...';
}

add_filter('excerpt_more', 'new_excerpt_more');

//para versão 2.8.x  e anteriores 

function new_excerpt_more($excerpt) {
	return str_replace('[...]', '...', $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

Nesse caso temos uma mudança de código entre versões antes e depois da 2.9,mas nos dois momentos trocamos o ‘[…]’ por ‘…’.

Além dessa possibilidade também temos uma segunda opção adicionar um link ao final so resumo, trocar o ‘[…]’ por um link leia mais o código ficaria da seguinte forma:

function add_resumo_com_link($more) {
       global $post;
	return 'Leia mais +';
}
add_filter('excerpt_more', 'add_resumo_com_link');

9 respostas para “Personalizando o resumo(the_excerpt) do WordPress”

  1. Olá.
    Estou testando em local aqui.
    Aqui ele limita meu resumo por Palavras, e não por caracteres. O problema é que palavras de tamanhos diferentes acabam deixando sem um padrão legal, pq estou usando duas colunas. Como faço para forçá-lo a contar caracteres, e não palavras?

    function twentyeleven_child_excerpt_length( $length ) {
    return 20;
    }
    add_filter( ‘excerpt_length’, ‘twentyeleven_child_excerpt_length’ );

  2. Para limitar por caracteres e não por palavras, basta fazer o seguinte:

    -> no function.php:
    function except_limit($maximo) {
    $except = get_the_excerpt();
    if ( strlen($except) > $maximo ) {
    $continue = ‘…’;
    }
    $except = mb_substr( $except, 0, $maximo, ‘UTF-8’ );
    echo $except.$continue;
    }

    -> no loop do WordPress:
    #Função onde 155 é o número de caracteres 😉

Deixe uma resposta

This site uses Akismet to reduce spam. Learn how your comment data is processed.