
✂️ Como alterar o comprimento do excerto no WordPress
Visita o arquivo de um blogue e vê «tijolos»: um artigo tem um anúncio de meio ecrã, outro tem apenas duas linhas secas. Isto acontece porque o WordPress, por defeito, corta os excertos em 55 palavras, um número inventado há quase duas décadas e que nunca mais foi alterado.
O problema é que um comprimento universal nunca está certo. Um site de notícias precisa de 20 palavras, um artigo de fundo precisa de 80 e um portefólio precisa apenas de 10. A boa notícia: pode definir o seu próprio comprimento sem plugins, usando um único filtro no functions.php. E sem pôr o seu site em risco.
💡 Visão geral rápida:
- Compreender o que é um excerto e porque é que 55 palavras não são uma regra
- Alterar o comprimento através do filtro
excerpt_length(2 linhas de código) - Definir comprimentos diferentes para a página inicial, categorias e tipos de conteúdo personalizados
- Escolher um plugin se o código não for uma opção e saber o que funciona em 2026
- Encontrar respostas: excerto vs «Ler mais», conteúdo duplicado, anúncios personalizados
O que é um excerto e porque é que o seu comprimento é importante
Um excerto é um resumo automático do artigo que o WordPress gera a partir das primeiras 55 palavras do texto. Aparece nos feeds do blogue, nas páginas de categoria, nos resultados da pesquisa interna do site e nos feeds RSS. Se o autor não tiver preenchido manualmente o campo «Excerto», o sistema automático entra em ação.
O número 55 veio das primeiras versões do CMS e não mudou desde a versão 2.7. Nessa altura, o artigo médio tinha 300 a 400 palavras e 55 era um compromisso razoável. Hoje, um artigo típico num blogue de tecnologia tem mais de 1500 palavras e um excerto curto perde o sentido: os leitores não percebem sobre o que é o artigo e os motores de busca veem texto truncado nos snippets.
Para além da estética, há um aspeto técnico. Se um excerto for cortado a meio de uma frase, a Google pode usar esse fragmento na meta description e o seu snippet nos resultados de pesquisa fica com um aspeto descuidado. Um excerto limpo, significativo e com um comprimento definido resolve a situação.
Alterar o comprimento através do filtro excerpt_length
O método mais fiável é usar o filtro nativo excerpt_length. Existe no núcleo do WordPress desde a versão 2.7.0 e não depende de temas ou plugins. Funciona em todo o lado onde a função the_excerpt() é chamada.
Aqui está o código mínimo para o ficheiro functions.php do seu tema filho:
1 /** 2 * Changes excerpt length to 30 words. 3 * 4 * @param int $length Current excerpt length. 5 * @return int New excerpt length. 6 */ 7 function mytheme_excerpt_length( $length ) { 8 return 30; 9 } 10 add_filter( 'excerpt_length', 'mytheme_excerpt_length', 999 );
O que importa aqui:
- A prioridade 999 é o detalhe chave. O WordPress aplica internamente o seu próprio filtro com a prioridade padrão (10). Se não especificar uma prioridade alta, o seu callback é executado antes do do sistema e é sobrescrito com 55. 999 garante que o seu filtro é executado em último lugar.
- Devolva um número inteiro, apenas inteiro. Uma string
'30'irá desencadear um PHP Warning em modo estrito. - Tema filho: não edite o
functions.phpdo tema principal, as alterações perder-se-ão na atualização. Se não tiver um tema filho, crie um ou use o plugin Code Snippets.
O código acima altera o comprimento para todas as chamadas de the_excerpt() no site. O número 30 é um exemplo; substitua pelo seu. Para um site de notícias, 20 a 30 palavras é o típico; para um blogue analítico, 50 a 70; para um portefólio, 10 a 15.
Se o seu site correr sobre HTTPS e usar uma versão moderna do PHP (8.0+), pode escrevê-lo de forma ainda mais curta com uma arrow function:
1 add_filter( 'excerpt_length', fn( $length ) => 40, 999 );
Mas para compatibilidade com projetos mais antigos, mantenha a primeira variante com uma função nomeada.
Comprimentos diferentes para páginas diferentes
Um número universal é conveniente, mas raramente é o ideal. Na página inicial do blogue, precisa de cativar os leitores com um resumo alargado (60 a 70 palavras), enquanto num widget de «Artigos Relacionados» precisa de uma linha breve de 15 a 20 palavras. O WordPress permite definir lógica condicional através de funções padrão de verificação de contexto:
1 function mytheme_conditional_excerpt_length( $length ) { 2 if ( is_front_page() && is_home() ) { 3 return 70; // Blog home page 4 } 5 if ( is_category() || is_tag() ) { 6 return 45; // Category and tag pages 7 } 8 if ( is_search() ) { 9 return 30; // Search page 10 } 11 if ( is_page_template( 'template-portfolio.php' ) ) { 12 return 15; // Portfolio template 13 } 14 return 55; // Everything else 15 } 16 add_filter( 'excerpt_length', 'mytheme_conditional_excerpt_length', 999 );
Esta abordagem cobre a grande maioria dos cenários reais. A mesma lógica aplica-se a tipos de conteúdo personalizados através de is_singular( 'product' ) ou is_post_type_archive( 'portfolio' ).
Uma nuance importante: nem todos os temas usam honestamente o the_excerpt(). Alguns temas premium (especialmente os mais antigos com os seus próprios construtores de páginas) chamam o wp_trim_words() diretamente ou usam wrappers personalizados. O filtro excerpt_length não funcionará nesses casos. Se nada mudou depois de adicionar o código, abra o functions.php do tema e procure chamadas alternativas; o problema resolve-se normalmente substituindo a função personalizada pelo the_excerpt() padrão.
Plugins: valem a pena?
O mercado de plugins de gestão de excertos é pequeno; a maioria das tarefas resolve-se com o código das secções anteriores. O historicamente popular Advanced Excerpt (mais de 100.000 instalações ativas no passado) não é atualizado nem testado com as versões mais recentes do WordPress desde 2024. No WP 6.8+ o plugin não funciona e as avaliações dos utilizadores confirmam-no. Instalá-lo em 2026 não faz sentido.
O que está realmente disponível:
- Code Snippets é um plugin gratuito que permite adicionar código PHP no painel de administração sem editar o
functions.php. Funciona para qualquer snippet deste artigo: cole o filtroexcerpt_length, ative e está feito. Vantagem: não teme atualizações do tema. Download: Code Snippets no WordPress.org. - O WPCode é uma ferramenta mais recente com uma interface visual para inserir snippets, lógica condicional e uma biblioteca na cloud de receitas prontas a usar. Se gere vários sites e não quer duplicar código, o WPCode é mais conveniente.
Ambos os plugins não se especializam especificamente em excertos; resolvem uma tarefa mais ampla. Mas para o nosso propósito, isto é suficiente: adiciona o filtro uma vez e esquece-o.

Se quiser firmemente uma interface gráfica especificamente para excertos (campos de introdução de comprimento, caixas de seleção, seleção de tags HTML), à data de 2026 não existe nenhum plugin separado mantido ativamente com essa funcionalidade no repositório do WordPress.org. Todos os que existiam anteriormente estão abandonados ou em conflito com o PHP 8.2+. Nesta situação, aprender o filtro excerpt_length é mais fiável: duas linhas de código que não se partirão com nenhuma atualização do CMS.
Antes de passar às perguntas comuns, aqui está um pequeno vídeo que mostra o processo de adicionar código a um tema WordPress:
⁉️🤔 Perguntas comuns
Qual é a diferença entre o excerto e a tag «Ler mais»?
A tag
<!--more-->(botão «Ler mais») corta o artigo onde a coloca e preserva toda a formatação: imagens, listas, cabeçalhos. Um excerto é sempre texto simples sem tags HTML (a menos que se use um plugin). O «Ler mais» controla a exibição na própria página do artigo; o excerto controla a exibição nas páginas de arquivo. São dois mecanismos diferentes que podem funcionar em simultâneo.
O excerto cria conteúdo duplicado para SEO?
Não. Se o excerto for gerado pela função
the_excerpt()nas páginas de arquivo, os motores de busca veem-no comometa descriptionpara essas páginas, não como conteúdo duplicado. Além disso, um excerto bem configurado ajuda a Google a formar um snippet relevante. Os problemas de duplicação surgem apenas se inserir o texto completo do artigo tanto na página de arquivo como na página individual sem um URL canónico.
Como defino um texto de anúncio totalmente personalizado?
No editor de artigos do WordPress existe um campo «Excerto». Se estiver preenchido, o sistema usa o seu texto em vez do automático. No editor clássico, ative o campo através de «Opções de Ecrã» no canto superior direito. No editor de blocos (Gutenberg), use o separador da barra lateral «Artigo» → «Excerto». Um excerto personalizado tem prioridade sobre qualquer filtro
excerpt_length.
Posso preservar HTML nos excertos automáticos?
O filtro padrão
excerpt_lengthnão gere tags; owp_trim_excerpt()remove sempre o HTML. Para preservar a formatação, precisa de uma abordagem separada: ou um plugin (mas nenhum funciona em 2026), ou substituir o gerador de excertos padrão através do filtrowp_trim_excerptpelo seu próprio código. Esta é uma técnica avançada para programadores.
Porque é que o filtro não funciona com o meu tema?
Três razões típicas: 1) o tema não chama o
the_excerpt()mas usa uma função personalizada (verifique os templates archive.php, category.php, search.php); 2) a prioridade do filtro é inferior à do manipulador interno do WordPress (use999); 3) o ficheirofunctions.phpfoi editado no tema principal em vez do tema filho e as alterações não foram aplicadas.
Alterar o comprimento do excerto: código ou plugin?
O filtro excerpt_length cobre as necessidades da grande maioria dos sites WordPress. Duas linhas no functions.php e o comprimento do excerto torna-se exatamente o que pretende: na página inicial, nas categorias, na pesquisa, para tipos de conteúdo personalizados. Não há necessidade de procurar plugins de excertos separados em 2026; ou estão abandonados ou são redundantes.
Se nunca editou o functions.php, comece com o Code Snippets. É gratuito, seguro e não depende de atualizações do tema. Quando se sentir confortável, a lógica condicional com is_front_page() e is_category() desbloqueará um nível de controlo que nenhum plugin de excertos com interface gráfica alguma vez proporcionou.



