Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Como truncar automaticamente os títulos das postagens do blog no WordPress

Quando lançamos nosso primeiro site WordPress com muito conteúdo, nunca pensamos que os títulos das postagens do blog seriam um problema. Alguns de nossos títulos mais longos estavam quebrando nosso belo layout, enquanto outros simplesmente pareciam confusos em dispositivos móveis.

Ao longo de anos gerenciando vários sites WordPress e ajudando proprietários de sites, descobrimos que cortar os títulos das postagens ajuda a garantir uma aparência consistente e refinada que prende a atenção do seu público.

Neste guia, compartilharemos técnicas eficazes para encurtar automaticamente os títulos do seu blog no WordPress com PHP, ajudando-o a manter tudo com boa aparência.

How to Automatically Truncate Blog Post Titles in WordPress

Por que truncar os títulos das postagens no WordPress com PHP?

O truncamento de títulos de postagens no WordPress com PHP oferece mais controle sobre o tamanho dos títulos das postagens e como eles são exibidos no site.

Por exemplo, talvez você queira cortar os títulos de postagens longas na página inicial para que eles não atrapalhem o design do seu blog WordPress.

Truncate posts example

Isso também ajuda a manter seu blog visualmente agradável e fácil de navegar para seus leitores.

Observação: se sua meta for otimizar as publicações do blog para SEO usando títulos mais curtos, talvez não seja necessário truncar. Em vez disso, um plug-in de SEO do WordPress pode simplificar a criação de tags de título curtas e eficazes para SEO.

Recomendamos o All in One SEO (AIOSEO) porque ele permite que você crie títulos de SEO personalizados para as páginas de resultados de pesquisa e, ao mesmo tempo, mantenha títulos de posts mais longos para os visitantes em seu site.

Para obter mais detalhes, consulte nosso guia definitivo sobre como configurar o AIOSEO corretamente.

Agora, vamos explorar duas maneiras de truncar os títulos das postagens do WordPress em seu site usando PHP:

Método 1: Truncar os títulos das postagens do WordPress com uma função do WordPress

A maneira mais fácil de truncar os títulos das postagens no WordPress é adicionar código PHP aos seus arquivos do WordPress. Se você nunca fez isso antes, consulte nosso guia sobre como copiar e colar código no WordPress.

Muitos tutoriais lhe dirão para adicionar o código diretamente ao arquivo functions.php do seu tema. No entanto, qualquer erro pode causar erros ou até mesmo quebrar seu site.

Por isso, recomendamos o uso do plug-in gratuito WPCode. Trata-se de uma ferramenta útil que facilita a adição e o gerenciamento de códigos personalizados em seu site WordPress, sem alterar diretamente os arquivos do tema.

No WPBeginner, contamos com o plugin para adicionar e gerenciar nossos trechos de código personalizados. Você pode conferir nossa análise completa do WPCode para saber mais.

Primeiro, você precisa instalar e ativar o plugin gratuito WPCode. Se precisar de ajuda com isso, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.

Após a ativação, selecione Code Snippets ” + Add Snippet na barra lateral do administrador. Em seguida, passe o mouse sobre a opção “Add Your Custom Code (New Snippet)” (Adicionar seu código personalizado (novo snippet)) e clique no botão “Add Custom Snippet” (Adicionar snippet personalizado) exibido.

WPCode add custom code

Isso abrirá uma nova página na qual você poderá digitar um título para o snippet e, em seguida, adicionar o código.

Basta copiar e colar o código a seguir no painel Visualização de código no WPCode.

function max_title_length( $title ) {
$max = 35;
if( strlen( $title ) > $max ) {
return substr( $title, 0, $max ). " …";
} else {
return $title;
}
}

add_filter( 'the_title', 'max_title_length');

Esta é a aparência que deve ter depois que você adicionar o código.

Truncating Headlines Using WPCode

Esse código será executado dentro do loop de postagem do WordPress e encurtará os títulos das postagens do blog para 35 caracteres. Para alterar o tamanho do título, basta definir a variável $max com o tamanho de título de sua preferência.

Se precisar de ajuda, consulte nosso artigo sobre como adicionar código personalizado no WordPress.

Em seguida, você precisa escolher “PHP Snippet” no menu suspenso Code Type (Tipo de código).

Por fim, você precisará ativar a configuração Active e, em seguida, salvar o snippet clicando no botão “Save Snippet”.

Truncating Headlines Using WPCode

Agora que o snippet de código está ativo, os títulos das postagens do seu blog serão encurtados sempre que aparecerem no site do WordPress.

Como mostrado na captura de tela abaixo, o título para em 35 caracteres e é seguido por elipses ‘…’ no final.

WPCode truncation example

Método 2: Truncar os títulos das postagens do WordPress com PHP alterando os arquivos do tema do WordPress

Outra maneira de truncar os títulos das postagens do WordPress é adicionar código diretamente aos arquivos de tema do WordPress.

Esse método lhe dá mais controle sobre onde os títulos são encurtados. Por exemplo, talvez você queira cortar os títulos apenas na página inicial, mas exibir o título completo na postagem do blog.

⚠️ Dica profissional: antes de continuar com o Método 2, lembre-se de que a atualização do tema pode substituir as alterações personalizadas.

Para manter seu site atualizado sem perder suas personalizações, confira nosso guia sobre como atualizar seu tema do WordPress sem perder a personalização.

Para fazer isso, você precisará adicionar o código PHP diretamente aos arquivos de tema do WordPress onde deseja truncar os títulos das publicações do blog.

Por exemplo, você pode adicionar o trecho de código abaixo ao seu arquivo index.php para substituir a tag the_title existente dentro do loop de postagem do WordPress para alterar o comprimento do título em todo o site:

<a href="<?php the_permalink() ?>">
<?php
$thetitle = $post->post_title; /* or you can use get_the_title() */
$getlength = strlen($thetitle);
$thelength = 25;
echo substr($thetitle, 0, $thelength);
if ($getlength > $thelength) echo "...";
?>
</a>

Esse código define o tamanho do título da postagem como 25 caracteres. Se o tamanho do título for maior que 25 caracteres, ele cortará o título após 25 caracteres e adicionará uma elipse ‘…’ ao final.

Para alterar o tamanho dos caracteres de seu site, basta alterar a variável $thelength para a contagem de caracteres de sua preferência.

Depois de adicionar o código e salvar o arquivo, você precisa carregá-lo no diretório de temas da sua conta de hospedagem do WordPress.

Você pode fazer isso usando um cliente FTP ou a ferramenta de gerenciamento de arquivos no painel de controle da sua hospedagem WordPress. Se você nunca usou o FTP antes, confira nosso guia sobre como usar o FTP para fazer upload de arquivos no WordPress.

Depois que o código for adicionado, os títulos das postagens serão truncados de acordo com a contagem de caracteres que você definiu.

Esperamos que este artigo tenha ajudado você a aprender como truncar títulos de posts no WordPress com PHP. Talvez você também queira ver nosso guia sobre como escrever uma ótima postagem de blog e nossas escolhas de especialistas das melhores ferramentas e plug-ins de marketing de conteúdo para WordPress.

Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

20 ComentáriosLeave a Reply

  1. dustinporchia

    This is golden!….Thanks wpbeginner!

  2. Marco

    Does anybody know how the link title of previous_post_link(); could be truncated?

    thanks

  3. Brow

    Thanks this worked perfectly! I didn’t want to end up using a plugin just to do this and was happy your code cut down the titles properly.

    Thanks again!

  4. Joey Figaro

    Hey there – thanks for writing this up! I happened to stumble upon another example of how to achieve this and it seemed a lot more simple, so I will share it with you and see what you think.

    functions.php:

    function new_excerpt_length($length) {
    return 100;
    }
    add_filter(‘excerpt_length’, ‘new_excerpt_length’);

    • Editorial Staff

      These are two entirely different concepts…. The one you recommend is for post excerpts whereas the one we are talking about is for Post Titles.

      Admin

  5. Lena

    Hi!
    This doesn’t work if you use other languages than english. My swedish titel looks awful because the code doesn’t translate å ä and ö comparing to the default code. Any suggestions of what I have to do? This is a good trick and i want to use it.

    Kindly Lillan

    • Editorial Staff

      Hmm… that does sound like a serious issue. Wondering if you can specify the language via PHP, so it counts characters in that instead of english.

      Admin

      • Alex

        You might wanna try to specify a different charset, check Latin1 or utf8 i think they contain those chars as well.. I had some similar issues recently since my first language is german :)

  6. Navjot Singh

    One Suggestion, this type of code should be included in functions.php and not index.php. You can use conditional tags to restrict the code to any page you want whether its the homepage or any other page where you want.

    • Editorial Staff

      This is just for specific areas… But yes, it can be customized and placed in functions.php

      Admin

  7. Thomas Scholz

    Don’t use strlen(). Use mb_strlen() or strlen(utf8_decode($str)) or you risk to truncate the string inside of a multi-byte character. The same applies to mb_substr().

    Oh, and an ellipsis is one character: … :)

    • snipsley

      Thanks!! mb_strlen() a mb_substr solved my encoding problem. I’ve been looking for this for hours!

    • Lena Backstedt

      BIG tnx!
       
      mb_strlen() also seems to work for the swedish language (so far I can see)

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.