Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
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

Você quer aprender a truncar títulos de postagens com PHP?

O truncamento, ou encurtamento, permite controlar o tamanho dos títulos das publicações do blog em todo o site. Dependendo do seu tema do WordPress, talvez você queira exibir títulos mais curtos do que os suportados pelo tema.

Neste artigo, mostraremos a você como truncar títulos de posts no WordPress.

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

Observação: alguns usuários simplesmente querem usar títulos de posts mais curtos para otimizar os posts do blog para SEO. Nesse caso, você não precisa truncar os títulos das postagens. Em vez disso, você pode simplesmente usar um plug-in de SEO do WordPress para tornar sua tag de título mais curta.

Um plug-in de SEO permitirá que você crie títulos personalizados de SEO para as páginas de resultados de pesquisa e, ao mesmo tempo, mantenha títulos de posts mais longos para os visitantes do site.

Para obter mais detalhes, consulte nosso guia definitivo sobre como configurar corretamente o All in One SEO.

Dito isso, vamos mostrar como truncar os títulos das postagens do WordPress em seu site usando dois métodos diferentes:

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 uma série de erros no WordPress ou até mesmo quebrar seu site.

Por isso, recomendamos o uso do plug-in gratuito WPCode, seguindo nosso guia sobre como adicionar código personalizado no WordPress.

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 “Use snippet” (Usar snippet) exibido.

Adding Custom Code in WPCode

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');
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.

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.

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.

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.

Dica profissional: se você usou o Método 2, perderá essas alterações quando atualizar o tema para uma nova versão. Para evitar isso, consulte nosso guia sobre como atualizar seu tema do WordPress sem perder a personalização.

Esperamos que este artigo tenha ajudado você a aprender como truncar títulos de posts do WordPress com PHP. Talvez você também queira ver nosso guia sobre como escrever uma ótima postagem de blog e nossas escolhas de especialistas sobre os melhores plug-ins de marcação de esquema 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.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

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.

O kit de ferramentas definitivo WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Reader Interactions

21 ComentáriosDeixe uma resposta

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. dustinporchia

    This is golden!….Thanks wpbeginner!

  3. Marco

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

    thanks

  4. 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!

  5. 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.

      Administrador

  6. 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.

      Administrador

      • 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 :)

  7. 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

      Administrador

  8. 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)

Deixe uma resposta

Obrigado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossos política de comentários, e seu endereço de e-mail NÃO será publicado. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.