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

Come troncare automaticamente i titoli degli articoli del blog in WordPress

Quando abbiamo lanciato il nostro primo sito WordPress ricco di contenuti, non abbiamo mai pensato che i titoli dei blog sarebbero stati un problema. Alcuni dei nostri titoli più lunghi rompevano il nostro bellissimo layout, mentre altri sembravano semplicemente disordinati sui dispositivi mobili.

In anni di gestione di diversi siti WordPress e di assistenza ai proprietari di siti web, abbiamo scoperto che tagliare i titoli delle pubblicazioni aiuta a garantire un aspetto coerente e raffinato, in grado di attirare l’attenzione del pubblico.

In questa guida condivideremo tecniche efficaci per accorciare automaticamente i titoli dei vostri blog WordPress con PHP, aiutandovi a mantenere l’aspetto più nitido.

How to Automatically Truncate Blog Post Titles in WordPress

Perché troncare i titoli degli articoli in WordPress con PHP?

Il troncamento dei titoli degli articoli in WordPress con PHP vi dà un maggiore controllo sulla lunghezza dei titoli degli articoli e su come vengono visualizzati sul vostro sito web.

Ad esempio, potreste voler offuscare i titoli degli articoli lunghi sulla vostra homepage, in modo che non disturbino il design del vostro blog WordPress.

Truncate posts example

Questo aiuta anche a mantenere il blog gradevole alla vista e facile da navigare per i lettori.

Nota: se il vostro obiettivo è ottimizzare i titoli dei vostri blog per la SEO utilizzando titoli più brevi, il troncamento potrebbe non essere necessario. Al contrario, un plugin SEO per WordPress può semplificare la creazione di tag titolo SEO brevi ed efficaci.

Consigliamo All in One SEO (AIOSEO) perché consente di creare titoli SEO personalizzati per le pagine di ricerca, pur mantenendo sul sito titoli più lunghi per i visitatori.

Per maggiori dettagli, consultate la nostra guida definitiva su come impostare correttamente AIOSEO.

Ora esploriamo due modi per troncare i titoli delle pubblicazioni di WordPress sul vostro sito utilizzando il PHP:

Metodo 1: troncare i titoli degli articoli di WordPress con una funzione di WordPress

Il modo più semplice per troncare i titoli degli articoli in WordPress è aggiungere del codice PHP ai file di WordPress. Se non l’avete mai fatto prima, selezionate la nostra guida su come copiare e incollare codice in WordPress.

Molti tutorial indicano di aggiungere il codice direttamente al file functions.php del tema. Tuttavia, eventuali errori potrebbero causare errori o addirittura la rottura del sito.

Per questo motivo vi consigliamo di utilizzare il plugin gratuito WPCode. Si tratta di un pratico strumento che facilita l’aggiunta e la gestione di codice personalizzato sul vostro sito WordPress, senza modificare direttamente i file del tema.

Noi di WPBeginner ci affidiamo a questo plugin per add-on e gestione dei nostri snippet di codice personalizzati. Per saperne di più, potete selezionare la nostra recensione completa di WPCode.

Per prima cosa, è necessario installare e attivare il plugin gratuito WPCode. Se avete bisogno di aiuto, consultate la nostra guida passo-passo su come installare un plugin di WordPress.

Dopo l’attivazione, selezionare Code Snippets ” + Add Snippet dalla barra laterale dell’amministrazione. Passare quindi il mouse sull’opzione “Aggiungi codice personalizzato (nuovo snippet)” e fare clic sul pulsante “Aggiungi snippet personalizzato” che appare.

WPCode add custom code

Si aprirà una nuova pagina in cui si potrà digitare un titolo per lo snippet e aggiungere il codice.

È sufficiente copiare e incollare il seguente codice nel riquadro Anteprima codice di WPCode.

1
2
3
4
5
6
7
8
9
10
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');

Ecco come dovrebbe apparire una volta aggiunto il codice.

Truncating Headlines Using WPCode

Questo codice verrà eseguito all’interno del loop dei post di WordPress e accorcerà i titoli delle pubblicazioni del blog a 35 caratteri. Per modificare la lunghezza del titolo, è sufficiente impostare la variabile $max sulla lunghezza preferita.

Se avete bisogno di aiuto, consultate il nostro articolo su come add-on il codice personalizzato in WordPress.

Successivamente, è necessario scegliere “PHP Snippet” dal menu a discesa Tipo di codice.

Infine, è necessario attivare l’impostazione Attiva/disattiva e salvare lo snippet facendo clic sul pulsante “Salva snippet”.

Truncating Headlines Using WPCode

Ora che lo snippet di codice è attivato, i titoli delle pubblicazioni del vostro blog saranno abbreviati ovunque appaiano sul vostro sito web WordPress.

Come mostrato nello screenshot sottostante, il titolo si ferma a 35 caratteri ed è seguito dall’ellissi “…” alla fine.

WPCode truncation example

Metodo 2: Troncare i titoli degli articoli di WordPress con PHP modificando i file del tema di WordPress

Un altro modo per troncare i titoli degli articoli di WordPress è aggiungere del codice direttamente nei file del tema di WordPress.

Questo metodo consente di controllare meglio dove i titoli vengono accorciati. Ad esempio, potreste voler tagliare i titoli solo sulla vostra homepage, ma visualizzare il titolo completo sulla pagina pubblica del blog.

⚠️ Suggerimento: prima di continuare con il metodo 2, ricordate che l’aggiornamento del tema può sovrascrivere le modifiche personalizzate.

Per mantenere il vostro sito aggiornato senza perdere le vostre personalizzazioni, consultate la nostra guida su come aggiornare il tema di WordPress senza perdere i personalizzati.

Per farlo, è necessario aggiungere il codice PHP direttamente ai file del tema di WordPress in cui si desidera troncare i titoli degli articoli del blog.

Ad esempio, è possibile aggiungere lo snippet di codice qui sotto al file index.php per sostituire il tag esistente the_title all’interno del loop degli articoli di WordPress e cambiare la lunghezza del titolo in tutto il sito:

1
2
3
4
5
6
7
8
9
<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>

Questo codice imposta la lunghezza del titolo dell’articolo a 25 caratteri. Se la lunghezza del titolo è superiore a 25 caratteri, il titolo sarà off dopo 25 caratteri e aggiungerà un’ellissi ‘…’ alla fine.

Per modificare la lunghezza dei caratteri per il vostro sito web, basta cambiare la variabile $thelength con il numero di caratteri che preferite.

Una volta aggiunto il codice e salvato il file, è necessario effettuare l’uploader nella directory dei temi del proprio account di hosting WordPress.

Potete farlo utilizzando un client FTP o lo strumento di gestione dei file nel pannello di controllo del vostro hosting WordPress. Se non avete mai usato l’FTP, consultate la nostra guida su come usare l’FTP per caricare i file su WordPress.

Dopo l’aggiunta del codice, i titoli degli articoli saranno troncati in base al numero di caratteri impostato.

Speriamo che questo articolo vi abbia aiutato a capire come troncare i titoli dei post di WordPress con PHP. Vi consigliamo anche di consultare la nostra guida su come scrivere un ottimo post per il blog e la nostra selezione dei migliori strumenti e plugin di content marketing per WordPress.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e 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 commentiLeave 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.