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

Nota editorial: Ganhamos uma comissão de links de parceiros no WPBeginner. As comissões não afetam as opiniões ou avaliações de nossos editores. Saiba mais sobre Processo editorial.

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 truncate WordPress post titles with PHP (2 ways)

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 que recomendamos o uso do plug-in gratuito WPCode. Basta seguir nosso guia sobre como adicionar código personalizado no WordPress e adicionar o seguinte código ao seu site WordPress:

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

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.

Depois de adicionar o snippet de código acima, 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 says

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

    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!

  3. Joey Figaro says

    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’);

  4. Lena says

    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

  5. Navjot Singh says

    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.

  6. Thomas Scholz says

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

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.