Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Puchar WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Jak automatycznie obcinać tytuły wpisów na blogu w WordPressie

Chcesz dowiedzieć się jak przycinać tytuły wpisów za pomocą PHP?

Obcinanie lub skracanie pozwala kontrolować długość tytułów twoich wpisów na blogu w witrynie internetowej. W zależności od Twojego motywu WordPress, możesz chcieć wyświetlać krótsze tytuły niż te, które są przez niego obsługiwane.

W tym artykule pokażemy, jak skrócić tytuły wpisów w WordPressie.

How to Automatically Truncate Blog Post Titles in WordPress

Dlaczego warto skracać tytuły wpisów w WordPressie za pomocą PHP?

Skracanie tytułów wpisów w WordPressie za pomocą PHP daje większą kontrolę nad długością twoich wpisów i sposobem ich wyświetlania na witrynie internetowej.

Na przykład, możesz chcieć odciąć długie wpisy na stronie głównej, aby nie zaburzały wyglądu twojego bloga WordPress.

Truncate posts example

Uwaga: Niektórzy użytkownicy chcą po prostu używać krótszych tytułów wpisów, aby zoptymalizować wpisy na blogu pod kątem SEO. W takim przypadku nie trzeba skracać tytułów wpisów. Zamiast tego możesz po prostu użyć wtyczki WordPress SEO, aby skrócić twój tag tytułowy.

Wtyczka SEO pozwoli ci tworzyć własne tytuły SEO dla stron wyników wyszukiwania, jednocześnie zachowując dłuższe tytuły wpisów dla odwiedzających twoją witrynę.

Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem na temat prawidłowej konfiguracji All in One SEO.

Mając to na uwadze, pokażemy ci, jak skrócić tytuły wpisów WordPress na twojej witrynie internetowej za pomocą dwóch różnych metod:

Metoda 1: Obcinanie tytułów wpisów WordPressa za pomocą funkcji WordPressa

Najprostszym sposobem na skrócenie tytułów wpisów w WordPressie jest dodanie kodu PHP do twoich plików WordPress. Jeśli nie robiłeś tego wcześniej, zapoznaj się z naszym przewodnikiem na temat kopiowania i wklejania kodu w WordPress.

Wiele poradników mówi, aby dodać kod bezpośrednio do pliku functions. php twojego motywu. Jednak wszelkie błędy mogą spowodować szereg błędów WordPressa, a nawet zepsuć twoją witrynę.

Dlatego zamiast tego zalecamy korzystanie z darmowej wtyczki WPCode, postępując zgodnie z naszym przewodnikiem na temat dodawania własnego kodu w WordPress.

Najpierw należy zainstalować i włączyć darmową wtyczkę WPCode. Jeśli potrzebujesz pomocy w tym zakresie, zapoznaj się z naszym przewodnikiem krok po kroku, jak zainstalować wtyczkę WordPress.

Po włączaniu, wybierz Code Snippets ” + Add Snippet z panelu bocznego administratora. Następnie najedź kursorem myszy na opcję „Add Your Custom Code (New Snippet)”, a następnie kliknij przycisk „Use snippet”, który się pojawi.

Adding Custom Code in WPCode

Spowoduje to otwarcie nowej strony, na której można wpisać tytuł fragmentu kodu, a następnie go utworzyć.

Wystarczy skopiować i wkleić poniższy kod do panelu podglądu kodu w 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');
Truncating Headlines Using WPCode

Ten kod wykona się wewnątrz pętli wpisów WordPress i skróci tytuły twoich wpisów na blogu do „35” znaków. Aby zmienić długość twojego tytułu, po prostu ustaw zmienną $max na preferowaną długość tytułu.

Następnie należy wybrać „Fragment kodu PHP” z rozwijanego menu Rodzaj kodu.

Na koniec należy włączyć ustawienie Aktywny, a następnie zapisać fragment kodu, klikając przycisk „Zapisz fragment kodu”.

Truncating Headlines Using WPCode

Teraz, gdy fragment kodu jest włączony, tytuły twoich wpisów na blogu zostaną skrócone wszędzie tam, gdzie pojawią się na twojej witrynie internetowej WordPress.

Metoda 2: Obcinanie tytułów wpisów w WordPressie za pomocą PHP poprzez zmianę plików motywu WordPressa

Innym sposobem na skrócenie tytułów wpisów WordPress jest dodanie kodu bezpośrednio do plików twojego motywu WordPress.

Ta metoda daje większą kontrolę nad tym, gdzie twoje tytuły są skracane. Na przykład, możesz chcieć skrócić tytuły tylko na twojej stronie głównej, ale wyświetlać pełnowymiarowy tytuł we wpisie na blogu.

Aby to zrobić, musisz dodać kod PHP bezpośrednio do plików motywu WordPress, w których chcesz skrócić tytuły twoich wpisów na blogu.

Na przykład, możesz dodać poniższy fragment kodu do pliku index.php, aby zastąpić istniejący tag the_title wewnątrz pętli twojego wpisu WordPress, aby zmienić długość tytułu w całym serwisie:

<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>

Ten kod ustawia długość tytułu wpisu na 25 znaków. Jeśli długość tytułu jest dłuższa niż 25 znaków, tytuł zostanie obcięty po 25 znakach i na końcu zostanie dodany wielokropek „…”.

Aby zmienić długość znaków dla twojej witryny internetowej, po prostu zmień zmienną $thelength na preferowaną liczbę znaków.

Po dodaniu kodu i zapisaniu twojego pliku, musisz przesłać go do katalogu motywu na twoim koncie hostingowym WordPress.

Możesz to zrobić za pomocą klienta FTP lub narzędzia do zarządzania plikami w twoim panelu sterowania hostingu WordPress. Jeśli nie korzystałeś wcześniej z FTP, zapoznaj się z naszym przewodnikiem na temat korzystania z FTP do przesyłania plików do WordPress.

Po dodaniu kodu tytuły twoich wpisów zostaną obcięte do ustawionej liczby znaków.

Pro Tip: Jeśli użyłeś metody 2, utracisz te zmiany, gdy zaktualizujesz swój motyw do nowej wersji. Aby tego uniknąć, zapoznaj się z naszym przewodnikiem na temat aktualizacji twojego motywu WordPress bez utraty konfiguratora.

Mamy nadzieję, że ten artykuł pomógł ci dowiedzieć się, jak skrócić tytuły wpisów WordPress za pomocą PHP. Zachęcamy również do zapoznania się z naszym przewodnikiem na temat pisania świetnych wpis ów na blogu i wyborem najlepszych wtyczek Schema Markup dla WordPressa.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz na niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak WPBeginner jest finansowany, dlaczego to ma znaczenie i jak możesz nas wspierać. Oto nasz proces redakcyjny.

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.

Najlepszy zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi - zbiór produktów i zasobów związanych z WordPressem, które każdy profesjonalista powinien mieć!

Reader Interactions

20 komentarzyZostaw odpowiedź

  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.

      Administrator

  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.

      Administrator

      • 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

      Administrator

  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)

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszymi polityka komentarzy, a Twój adres e-mail NIE zostanie opublikowany. NIE używaj słów kluczowych w polu nazwy. Przeprowadźmy osobistą i konstruktywną rozmowę.