Möchten Sie lernen, wie man Beitragstitel mit PHP abkürzt?
Durch das Kürzen können Sie die Länge der Titel Ihrer Blogbeiträge auf Ihrer Website steuern. Je nach WordPress-Theme möchten Sie vielleicht kürzere Titel anzeigen, als Ihr Theme unterstützt.
In diesem Artikel zeigen wir Ihnen, wie Sie Beitragstitel in WordPress abkürzen können.
Warum werden Beitragstitel in WordPress mit PHP abgeschnitten?
Das Kürzen von Beitragstiteln in WordPress mit PHP gibt Ihnen mehr Kontrolle über die Länge Ihrer Beitragstitel und wie sie auf Ihrer Website angezeigt werden.
Sie könnten zum Beispiel lange Beitragstitel auf Ihrer Homepage abschneiden, damit sie das Design Ihres WordPress-Blogs nicht beeinträchtigen.
Hinweis: Manche Benutzer möchten einfach kürzere Beitragstitel verwenden, um Blogbeiträge für die Suchmaschinenoptimierung zu optimieren. In diesem Fall müssen Sie die Beitragstitel nicht kürzen. Stattdessen können Sie einfach ein WordPress-SEO-Plugin verwenden, um Ihren Titel-Tag zu verkürzen.
Mit einem SEO-Plugin können Sie benutzerdefinierte SEO-Titel für die Suchergebnisseiten erstellen und gleichzeitig längere Beitragstitel für Ihre Besucher auf Ihrer Website beibehalten.
Weitere Einzelheiten finden Sie in unserem ultimativen Leitfaden für die korrekte Einrichtung von All in One SEO.
In diesem Sinne zeigen wir Ihnen, wie Sie WordPress-Beitragstitel auf Ihrer Website mit zwei verschiedenen Methoden abkürzen können:
Methode 1: WordPress-Beitragstitel mit einer WordPress-Funktion abkürzen
Der einfachste Weg, WordPress-Beitragstitel in WordPress zu kürzen, ist das Hinzufügen von PHP-Code zu Ihren WordPress-Dateien. Wenn Sie dies noch nicht getan haben, lesen Sie unsere Anleitung zum Kopieren und Einfügen von Code in WordPress.
In vielen Anleitungen wird Ihnen empfohlen, den Code direkt in die Datei functions.php Ihres Themes einzufügen. Jeder Fehler kann jedoch eine Reihe von WordPress-Fehlern verursachen oder sogar Ihre Website zerstören.
Deshalb empfehlen wir Ihnen, stattdessen das kostenlose Plugin WPCode zu verwenden und unserer Anleitung zu folgen, wie man individuellen Code in WordPress anpasst.
Zunächst müssen Sie das kostenlose Plugin WPCode installieren und aktivieren. Wenn Sie dabei Hilfe benötigen, lesen Sie bitte unsere Schritt-für-Schritt-Anleitung zur Installation eines WordPress Plugins.
Wählen Sie nach der Aktivierung die Option Code Snippets “ + Snippet hinzufügen in der Seitenleiste Ihrer Verwaltung. Bewegen Sie den Mauszeiger bei Mauszeigerkontakt über die Option „Individuellen Code hinzufügen (neues Snippet)“ und klicken Sie dann auf den Button „Snippet verwenden“, der erscheint.
Daraufhin wird eine neue Seite geöffnet, auf der Sie einen Titel für das Snippet eingeben und den Code hinzufügen können.
Kopieren Sie einfach den folgenden Code und fügen Sie ihn in das Codevorschau-Fenster in WPCode ein.
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');
Dieser Code wird in der WordPress-Beitragsschleife ausgeführt und verkürzt die Titel Ihrer Blogbeiträge auf 35 Zeichen. Um die Länge Ihres Titels zu ändern, setzen Sie einfach die Variable $max
auf Ihre bevorzugte Titellänge.
Als Nächstes müssen Sie „PHP Snippet“ aus dem Dropdown-Menü Code-Typ auswählen.
Abschließend müssen Sie die Einstellung „Aktiv“ aktivieren und das Snippet speichern, indem Sie auf den Button „Snippet speichern“ klicken.
Da das Code-Snippet nun aktiviert ist, werden die Titel Ihrer Beiträge überall auf Ihrer WordPress-Website gekürzt.
Methode 2: Kürzen von WordPress-Post-Titeln mit PHP durch Ändern der WordPress-Theme-Dateien
Eine weitere Möglichkeit, WordPress-Beitragstitel zu kürzen, ist das Hinzufügen von Code direkt in die WordPress-Theme-Dateien.
Mit dieser Methode haben Sie mehr Kontrolle darüber, wo Ihre Titel gekürzt werden. So können Sie z. B. die Titel nur auf Ihrer Homepage kürzen, aber den Titel in voller Länge auf dem Blogbeitrag anzeigen.
Dazu müssen Sie den PHP-Code direkt in die WordPress-Theme-Dateien einfügen, in denen Sie die Titel Ihrer Blogbeiträge kürzen möchten.
Sie können zum Beispiel den unten stehenden Codeschnipsel in Ihre index.php-Datei
einfügen, um den vorhandenen the_title-Tag
in Ihrer WordPress-Beitragsschleife zu ersetzen und die Titellänge siteweit zu ändern:
<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>
Dieser Code setzt die Länge des Beitragstitels auf 25 Zeichen. Wenn die Länge des Titels mehr als 25 Zeichen beträgt, wird der Titel nach 25 Zeichen abgeschnitten und am Ende eine Ellipse ‚…‘ hinzugefügt.
Um die Zeichenlänge für Ihre Website zu ändern, ändern Sie einfach die Variable $thelength
auf die von Ihnen gewünschte Zeichenanzahl.
Sobald Sie den Code hinzugefügt und Ihre Datei gespeichert haben, müssen Sie sie in Ihr Theme-Verzeichnis in Ihrem WordPress-Hosting-Konto hochladen.
Dazu können Sie einen FTP-Client oder das Dateimanagement-Tool in Ihrem WordPress-Hosting-Control-Panel verwenden. Wenn Sie noch nie mit FTP gearbeitet haben, lesen Sie unsere Anleitung zum Hochladen von Dateien mit FTP in WordPress.
Nachdem der Code hinzugefügt wurde, werden die Titel Ihrer Beiträge auf die von Ihnen festgelegte Zeichenanzahl gekürzt.
Pro-Tipp: Wenn Sie Methode 2 verwendet haben, gehen diese Änderungen verloren, wenn Sie Ihr Theme auf eine neue Version aktualisieren. Um dies zu vermeiden, lesen Sie unsere Anleitung, wie Sie Ihr WordPress-Theme aktualisieren können, ohne die Anpassungen zu verlieren.
Wir hoffen, dass dieser Artikel Ihnen geholfen hat, zu lernen, wie man WordPress-Beitragstitel mit PHP abkürzt. Vielleicht interessieren Sie sich auch für unseren Leitfaden zum Schreiben eines guten Blogbeitrags und unsere Expertenauswahl der besten Schema-Markup-Plugins für WordPress.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.
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!
Achintha
Hey There is a wordpress function for limit words. Better to use that.
http://codex.wordpress.org/Function_Reference/wp_trim_words
dustinporchia
This is golden!….Thanks wpbeginner!
adm_mnz
If you use mb_substr there is a parameter for encoding.
http://php.net/manual/en/function.mb-substr.php
Junaid
Sweet! was just looking for a clients project
Marco
Does anybody know how the link title of previous_post_link(); could be truncated?
thanks
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!
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
Joey Figaro
Wow, that’s embarrassing.
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
Editorial Staff
Thank you for helping out Alex
Ben Kulbertis
Thanks for the Trackback!
Editorial Staff
We appreciate your work for the community. Thanks for the nice snippet
Admin
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
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)