Când am lansat primul nostru site WordPress bogat în conținut, nu ne-am gândit niciodată că titlurile postărilor de pe blog vor fi o problemă. Unele dintre titlurile noastre mai lungi rupeau frumosul nostru layout, în timp ce altele arătau pur și simplu dezordonat pe dispozitivele mobile.
De-a lungul anilor de gestionare a mai multor site-uri WordPress și de ajutorare a proprietarilor de site-uri, am descoperit că trunchierea titlurilor postărilor ajută la asigurarea unui aspect consistent și rafinat, care captează atenția publicului tău.
În acest ghid, vom împărtăși tehnici eficiente pentru a scurta automat titlurile blogurilor tale WordPress cu PHP, ajutându-te să menții totul aspectuos.

De ce să trunchiați titlurile postărilor în WordPress cu PHP?
Trunchierea titlurilor postărilor în WordPress cu PHP îți oferă mai mult control asupra lungimii titlurilor postărilor tale și asupra modului în care acestea sunt afișate pe site-ul tău.
De exemplu, ați putea dori să scurtați titlurile lungi ale postărilor de pe pagina principală, astfel încât să nu strice designul blogului dvs. WordPress.

Acest lucru ajută, de asemenea, la menținerea blogului dvs. plăcut vizual și ușor de navigat pentru cititorii dvs.
Notă: Dacă scopul dvs. este de a optimiza postările de blog pentru SEO prin utilizarea unor titluri mai scurte, trunchierea ar putea să nu fie necesară. În schimb, un plugin SEO WordPress poate simplifica crearea unor etichete de titlu SEO scurte și eficiente.
Recomandăm All in One SEO (AIOSEO) deoarece vă permite să creați titluri SEO personalizate pentru paginile de rezultate ale căutării, păstrând în același timp titluri mai lungi ale postărilor pentru vizitatorii dvs. de pe site.
Pentru mai multe detalii, consultați ghidul nostru complet despre cum să configurați corect AIOSEO.
Acum, să explorăm două modalități de a trunchia titlurile postărilor din WordPress pe site-ul dvs. folosind PHP:
- Metoda 1: Trunchierea titlurilor postărilor WordPress cu o funcție WordPress
- Metoda 2: Trunchierea titlurilor postărilor WordPress cu PHP prin modificarea fișierelor temei WordPress
Metoda 1: Trunchierea titlurilor postărilor WordPress cu o funcție WordPress
Cel mai simplu mod de a trunchia titlurile postărilor WordPress în WordPress este prin adăugarea de cod PHP la fișierele WordPress. Dacă nu ați mai făcut acest lucru înainte, consultați ghidul nostru despre cum să copiați și să lipiți cod în WordPress.
Multe tutoriale vă vor spune să adăugați cod direct în fișierul functions.php al temei dvs. Cu toate acestea, orice greșeală ar putea cauza erori sau chiar să vă defecteze site-ul.
De aceea recomandăm să folosești în schimb pluginul gratuit WPCode. Este un instrument util care face adăugarea și gestionarea codului personalizat pe site-ul tău WordPress ușoară, fără a modifica direct fișierele temei.
La WPBeginner, ne bazăm pe plugin pentru a adăuga și gestiona fragmentele noastre de cod personalizate. Puteți consulta recenzia noastră completă despre WPCode pentru a afla mai multe.
Mai întâi, trebuie să instalați și să activați pluginul gratuit WPCode. Dacă aveți nevoie de ajutor cu acest lucru, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.
La activare, selectați Code Snippets » + Add Snippet din bara laterală de administrare. Apoi, plasați cursorul mouse-ului peste opțiunea „Add Your Custom Code (New Snippet)” și faceți clic pe butonul „Add Custom Snippet” care apare.

Aceasta va deschide o nouă pagină unde puteți introduce un titlu pentru fragment și apoi adăuga codul.
Pur și simplu copiază și lipește următorul cod în panoul de previzualizare a codului din 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');
Așa ar trebui să arate după ce ai adăugat codul.

Acest cod se va executa în bucla postărilor WordPress și va scurta titlurile postărilor dvs. de blog la 35 de caractere. Pentru a schimba lungimea titlului dvs., pur și simplu setați variabila $max la lungimea titlului preferată.
Dacă aveți nevoie de ajutor, consultați articolul nostru despre cum să adăugați cod personalizat în WordPress.
Apoi, trebuie să alegeți „Fragment PHP” din meniul derulant Tip de cod.
În cele din urmă, va trebui să activați setarea Activ și apoi să salvați fragmentul făcând clic pe butonul „Salvare fragment”.

Acum că fragmentul de cod este activ, titlurile postărilor dvs. de pe blog vor fi scurtate oriunde apar pe site-ul dvs. WordPress.
Așa cum se arată în captura de ecran de mai jos, titlul se oprește la 35 de caractere și este urmat de puncte de suspensie „…” la sfârșit.

Metoda 2: Trunchierea titlurilor postărilor WordPress cu PHP prin modificarea fișierelor temei WordPress
O altă modalitate de a trunchia titlurile postărilor WordPress este prin adăugarea de cod direct în fișierele temei WordPress.
Această metodă vă oferă mai mult control asupra locului unde sunt scurtate titlurile. De exemplu, ați putea dori să scurtați titlurile doar pe pagina de pornire, dar să afișați titlul complet pe postarea de pe blog.
⚠️ Sfat Pro: Înainte de a continua cu Metoda 2, reține că actualizarea temei tale poate suprascrie modificările personalizate.
Pentru a-ți menține site-ul actualizat fără a pierde personalizările, consultă ghidul nostru despre cum să-ți actualizezi tema WordPress fără a pierde personalizarea.
Pentru a face acest lucru, va trebui să adăugați codul PHP direct în fișierele temei WordPress unde doriți să trunchiați titlurile postărilor de pe blog.
De exemplu, puteți adăuga fragmentul de cod de mai jos în fișierul dvs. index.php pentru a înlocui eticheta existentă the_title din bucla de postări WordPress pentru a schimba lungimea titlului la nivelul întregului 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>
Acest cod setează lungimea titlului postării la 25 de caractere. Dacă lungimea titlului este mai mare de 25 de caractere, atunci titlul va fi trunchiat după 25 de caractere și se va adăuga o elipsă „…” la sfârșit.
Pentru a schimba lungimea caracterelor pentru site-ul tău, pur și simplu schimbă variabila $thelength la numărul preferat de caractere.
Odată ce ai adăugat codul și ai salvat fișierul, trebuie să îl încarci în directorul temei tale în contul tău de găzduire WordPress.
Puteți face acest lucru folosind un client FTP sau instrumentul de gestionare a fișierelor din panoul de control al găzduirii WordPress. Dacă nu ați mai folosit FTP înainte, consultați ghidul nostru despre cum să folosiți FTP pentru a încărca fișiere pe WordPress.
După ce codul este adăugat, titlurile postărilor tale vor fi trunchiate la numărul de caractere pe care îl setezi.
Sperăm că acest articol v-a ajutat să învățați cum să trunchiați titlurile postărilor din WordPress cu PHP. De asemenea, ați putea dori să consultați ghidul nostru despre cum să scrii o postare grozavă pe blog și selecțiile noastre de experți ale celor mai bune instrumente și pluginuri de marketing de conținut pentru WordPress.
Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.


kzain
O soluție excelentă pentru curățarea titlurilor lungi!
Mai ales cu titluri atrăgătoare, uneori acestea pot scăpa de sub control. Această funcție personalizată pare ușor de implementat, deși s-ar putea să am nevoie de un prieten pentru partea de PHP.
Achintha
Hei, există o funcție WordPress pentru limitarea cuvintelor. Mai bine folosește-o pe aceea.
http://codex.wordpress.org/Function_Reference/wp_trim_words
dustinporchia
Acesta este de aur!….Mulțumesc wpbeginner!
adm_mnz
Dacă utilizați mb_substr, există un parametru pentru codificare.
http://php.net/manual/en/function.mb-substr.php
Junaid
Super! Căutam exact asta pentru proiectul unui client.
Marco
Știe cineva cum poate fi trunchiat titlul linkului din previous_post_link();?
mulțumesc
Navigare
Mulțumesc, a funcționat perfect! Nu am vrut să folosesc un plugin doar pentru asta și am fost fericit că codul dvs. a scurtat titlurile corespunzător.
Mulțumesc din nou!
Joey Figaro
Salut – mulțumesc pentru că ai scris asta! Am dat peste un alt exemplu despre cum să realizezi acest lucru și părea mult mai simplu, așa că îl voi împărtăși cu tine și voi vedea ce părere ai.
functions.php:
function new_excerpt_length($length) { return 100; } add_filter(‘excerpt_length’, ‘new_excerpt_length’);
Personal editorial
Acestea sunt două concepte complet diferite... Cel pe care îl recomandați este pentru extrasele postărilor, în timp ce cel despre care vorbim este pentru titlurile postărilor.
Admin
Joey Figaro
Wow, that’s embarrassing.
Lena
Salut!
Acest lucru nu funcționează dacă folosiți alte limbi decât engleza. Titlul meu suedez arată groaznic, deoarece codul nu traduce å ä și ö comparativ cu codul implicit. Aveți sugestii despre ce ar trebui să fac? Acesta este un truc bun și vreau să-l folosesc.
Cu stimă, Lillan
Personal editorial
Hmm… asta pare a fi o problemă serioasă. Mă întreb dacă poți specifica limba prin PHP, astfel încât să numere caracterele în acea limbă în loc de engleză.
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
Personal editorial
Thank you for helping out Alex
Ben Kulbertis
Mulțumesc pentru Trackback!
Personal editorial
We appreciate your work for the community. Thanks for the nice snippet
Admin
Navjot Singh
O sugestie, acest tip de cod ar trebui inclus în functions.php și nu în index.php. Puteți folosi etichete condiționale pentru a restricționa codul la orice pagină doriți, fie că este pagina principală sau orice altă pagină unde doriți.
Personal editorial
Acesta este doar pentru anumite zone… Dar da, poate fi personalizat și plasat în functions.php
Admin
Thomas Scholz
Nu folosi strlen(). Folosește mb_strlen() sau strlen(utf8_decode($str)) sau riști să trunchiezi șirul în interiorul unui caracter multi-byte. Același lucru se aplică și la mb_substr().
Oh, and an ellipsis is one character: …
snipsley
Mulțumesc!! mb_strlen() și mb_substr mi-au rezolvat problema de codificare. Căutam asta de ore întregi!
Lena Backstedt
Mulțumiri mari!
mb_strlen() pare să funcționeze și pentru limba suedeză (pe cât pot eu vedea)