När vi lanserade vår första innehållstunga WordPress-webbplats trodde vi aldrig att blogginläggstitlar skulle vara ett problem. Vissa av våra längre titlar förstörde vår vackra layout, medan andra bara såg röriga ut på mobila enheter.
Genom år av hantering av flera WordPress-sajter och hjälp till webbplatsägare har vi upptäckt att trunkering av inläggstitlar hjälper till att säkerställa ett konsekvent, förfinat utseende som fångar din publiks uppmärksamhet.
I den här guiden delar vi med oss av effektiva tekniker för att automatiskt förkorta dina WordPress-bloggtitlar med PHP, vilket hjälper dig att hålla allt snyggt.

Varför trunkera inläggstitlar i WordPress med PHP?
Att trunkera inläggstitlar i WordPress med PHP ger dig mer kontroll över längden på dina inläggstitlar och hur de visas på din webbplats.
Till exempel kanske du vill kapa långa inläggstitlar på din startsida så att de inte förstör designen på din WordPress-blogg.

Att göra det hjälper också till att hålla din blogg visuellt tilltalande och lätt att navigera för dina läsare.
Notera: Om ditt mål är att optimera dina blogginlägg för SEO genom att använda kortare titlar, kanske trunkering inte är nödvändigt. Istället kan ett WordPress SEO-plugin förenkla skapandet av korta, effektiva SEO-titel-taggar.
Vi rekommenderar All in One SEO (AIOSEO) eftersom det låter dig skapa anpassade SEO-titlar för sökresultatsidorna samtidigt som du behåller längre inläggstitlar för dina besökare på din sajt.
För mer information, se vår ultimata guide om hur du ställer in AIOSEO korrekt.
Låt oss nu utforska två sätt att trunkera WordPress-inläggstitlar på din webbplats med PHP:
- Metod 1: Trunkera WordPress-inläggstitlar med en WordPress-funktion
- Metod 2: Kapa WordPress-inläggstitlar med PHP genom att ändra WordPress-temats filer
Metod 1: Trunkera WordPress-inläggstitlar med en WordPress-funktion
Det enklaste sättet att trunkera WordPress-inläggstitlar i WordPress är genom att lägga till PHP-kod i dina WordPress-filer. Om du inte har gjort det tidigare, kolla in vår guide om hur man kopierar och klistrar in kod i WordPress.
Många handledningar kommer att säga åt dig att lägga till kod direkt i ditt temas functions.php-fil. Men eventuella misstag kan orsaka fel eller till och med bryta din sajt.
Det är därför vi rekommenderar att använda det kostnadsfria WPCode-pluginet istället. Det är ett praktiskt verktyg som gör det enkelt att lägga till och hantera anpassad kod på din WordPress-webbplats, utan att ändra temafiler direkt.
På WPBeginner förlitar vi oss på pluginet för att lägga till och hantera våra anpassade kodavsnitt. Du kan läsa vår fullständiga recension av WPCode för att lära dig mer.
Först måste du installera och aktivera WPCode-pluginet gratis. Om du behöver hjälp med detta, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.
Vid aktivering, välj Kodavsnitt » + Lägg till avsnitt från din admin-sidofält. Håll sedan muspekaren över alternativet 'Lägg till din anpassade kod (nytt avsnitt)' och klicka sedan på knappen 'Lägg till anpassat avsnitt' som visas.

Detta öppnar en ny sida där du kan skriva en titel för kodavsnittet och sedan lägga till koden.
Kopiera och klistra bara in följande kod i Code Preview-fönstret i 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');
Så här ska det se ut när du har lagt till koden.

Den här koden kommer att köras inuti din WordPress-inläggsslinga och förkorta dina blogginläggstitlar till 35 tecken. För att ändra längden på din titel, ställ bara in variabeln $max till din önskade titellängd.
Om du behöver hjälp, kolla in vår artikel om hur du lägger till anpassad kod i WordPress.
Välj sedan 'PHP-avsnitt' från rullgardinsmenyn Kodtyp.
Slutligen måste du växla inställningen Aktiv till på och sedan spara kodavsnittet genom att klicka på knappen 'Spara kodavsnitt'.

Nu när kodavsnittet är aktivt kommer dina blogginläggstitlar att förkortas var de än visas på din WordPress-webbplats.
Som visas i skärmdumpen nedan slutar titeln vid 35 tecken och följs av ellipser '…' i slutet.

Metod 2: Kapa WordPress-inläggstitlar med PHP genom att ändra WordPress-temats filer
Ett annat sätt att trunkera WordPress-inläggstitlar är genom att lägga till kod direkt i dina WordPress-temafiler.
Den här metoden ger dig mer kontroll över var dina titlar trunkeras. Du kanske till exempel vill klippa av titlar endast på din startsida, men visa titeln i full längd på blogginlägget.
⚠️ Proffstips: Innan du fortsätter med metod 2, kom ihåg att uppdatering av ditt tema kan skriva över anpassade ändringar.
För att hålla din webbplats uppdaterad utan att förlora dina anpassningar, kolla in vår guide om hur du uppdaterar ditt WordPress-tema utan att förlora anpassningar.
För att göra det måste du lägga till PHP-koden direkt i WordPress temafiler där du vill trunkera dina blogginläggstitlar.
Du kan till exempel lägga till kodavsnittet nedan i din index.php-fil för att ersätta den befintliga the_title-taggen inuti din WordPress-inläggsloopen för att ändra titellängden över hela webbplatsen:
<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>
Denna kod ställer in längden på inläggstiteln till 25 tecken. Om titellängden är längre än 25 tecken, kommer den att kapa titeln efter 25 tecken och lägga till en ellips '…' i slutet.
För att ändra teckenlängden för din webbplats, ändra helt enkelt variabeln $thelength till ditt önskade teckenantal.
När du har lagt till koden och sparat din fil måste du ladda upp den till din temakatalog på ditt WordPress-värdkonto.
Du kan göra detta genom att använda en FTP-klient eller filhanteringsverktyget i din WordPress-värdkontrollpanel. Om du inte har använt FTP tidigare, kolla in vår guide om hur man använder FTP för att ladda upp filer till WordPress.
Efter att koden har lagts till kommer dina inläggstitlar att trunkeras till det teckenantal du har angett.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du trunkerar WordPress-inläggstitlar med PHP. Du kanske också vill se vår guide om hur man skriver ett bra blogginlägg och våra experttips om bästa verktyg och plugins för innehållsmarknadsföring för WordPress.
Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.


kzain
En bra lösning för att städa upp de där långa titlarna!
Särskilt med slagkraftiga rubriker kan de ibland spåra ur lite. Den här anpassade funktionen verkar enkel att implementera, även om jag kanske behöver en vän för att hjälpa till med PHP-delen.
Achintha
Hej Det finns en wordpress-funktion för att begränsa ord. Bättre att använda den.
http://codex.wordpress.org/Function_Reference/wp_trim_words
dustinporchia
Detta är guld!….Tack wpbeginner!
adm_mnz
Om du använder mb_substr finns det en parameter för kodning.
http://php.net/manual/en/function.mb-substr.php
Junaid
Toppen! Letade precis efter ett klientprojekt
Marco
Vet någon hur länktiteln för previous_post_link(); kan trunkeras?
tack
Bläddra
Tack, detta fungerade perfekt! Jag ville inte använda ett plugin bara för detta och var glad att din kod trunkerade titlarna ordentligt.
Tack igen!
Joey Figaro
Hej där – tack för att du skrev ihop det här! Jag råkade snubbla över ett annat exempel på hur man kan uppnå detta och det verkade mycket enklare, så jag kommer att dela det med dig och se vad du tycker.
functions.php:
function new_excerpt_length($length) { return 100; } add_filter(‘excerpt_length’, ‘new_excerpt_length’);
Redaktionell personal
Det här är två helt olika koncept…. Det du rekommenderar är för inläggsutdrag medan det vi pratar om är för inläggstitlar.
Admin
Joey Figaro
Wow, that’s embarrassing.
Lena
Hej!
Det här fungerar inte om du använder andra språk än engelska. Min svenska titel ser hemsk ut eftersom koden inte översätter å, ä och ö jämfört med standardkoden. Några förslag på vad jag ska göra? Det här är ett bra trick och jag vill använda det.
Vänliga hälsningar Lillan
Redaktionell personal
Hmm… det låter som ett allvarligt problem. Undrar om du kan ange språket via PHP, så att det räknar tecken i det istället för engelska.
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
Redaktionell personal
Thank you for helping out Alex
Ben Kulbertis
Tack för Trackback!
Redaktionell personal
We appreciate your work for the community. Thanks for the nice snippet
Admin
Navjot Singh
Ett förslag, denna typ av kod bör inkluderas i functions.php och inte index.php. Du kan använda villkorliga taggar för att begränsa koden till vilken sida du vill, oavsett om det är startsidan eller någon annan sida där du vill.
Redaktionell personal
Detta är bara för specifika områden… Men ja, det kan anpassas och placeras i functions.php
Admin
Thomas Scholz
Använd inte strlen(). Använd mb_strlen() eller strlen(utf8_decode($str)) annars riskerar du att trunkera strängen inuti ett flertecken. Detsamma gäller för mb_substr().
Oh, and an ellipsis is one character: …
snipsley
Tack!! mb_strlen() och mb_substr löste mitt kodningsproblem. Jag har letat efter detta i timmar!
Lena Backstedt
STORT tack!
mb_strlen() verkar också fungera för det svenska språket (så vitt jag kan se)