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

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

Kiedy uruchomiliśmy naszą pierwszą witrynę WordPress o dużej zawartości, nigdy nie sądziliśmy, że tytuły wpisów na blogu będą problemem. Niektóre z naszych dłuższych tytułów łamały nasz piękny układ, podczas gdy inne wyglądały po prostu niechlujnie na urządzeniach mobilnych.

Przez lata zarządzania wieloma witrynami WordPress i pomagania właścicielom witryn internetowych odkryliśmy, że przycinanie wpisów pomaga zapewnić spójny, wyrafinowany wygląd, który przyciąga uwagę twoich odbiorców.

W tym przewodniku podzielimy się skutecznymi technikami automatycznego skracania tytułów twojego bloga WordPress za pomocą PHP, pomagając ci zachować ostry wygląd.

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

Pomaga to również w utrzymaniu wizualnie przyjemnego i łatwego w nawigacji twojego bloga dla czytelników.

Uwaga: Jeśli twoim celem jest optymalizacja wpisów na blogu pod kątem SEO poprzez stosowanie krótszych tytułów, skracanie może nie być konieczne. Zamiast tego, wtyczka WordPress SEO może uprościć tworzenie krótkich, skutecznych tagów tytułowych SEO.

Polecamy All in One SEO (AIOSEO), ponieważ pozwala tworzyć własne tytuły SEO dla stron wyników wyszukiwania, jednocześnie zachowując dłuższe tytuły wpisów dla klientów na twojej witrynie.

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

Przyjrzyjmy się teraz dwóm sposobom na skrócenie tytułów wpisów WordPress na twojej witrynie przy użyciu PHP:

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ć błędy lub nawet zepsuć twoją witrynę.

Dlatego zamiast tego zalecamy korzystanie z darmowej wtyczki WPCode. Jest to przydatne narzędzie, które ułatwia dodawanie i zarządzanie własnym kodem na twojej witrynie WordPress, bez konieczności bezpośredniej zmiany plików motywu.

W WPBeginner polegamy na wtyczce do dodawania i zarządzania naszymi własnymi fragmentami kodu. Możesz sprawdzić naszą pełną recenzję WPCode, aby dowiedzieć się więcej.

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 “Add Custom Snippet”, który się pojawi.

WPCode add custom code

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');

Tak to powinno wyglądać po dodaniu kodu.

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.

Jeśli potrzebujesz pomocy, zapoznaj się z naszym artykułem na temat dodawania własnego kodu w WordPress.

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.

Jak pokazano na poniższym zrzucie ekranu, tytuł zatrzymuje się na 35 znakach, a po nim następuje wielokropek “…” na końcu.

WPCode truncation example

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 swojej stronie głównej, ale wyświetlać pełnowymiarowy tytuł we wpisie na blogu.

⚠️ Pro Tip: Zanim przejdziesz do metody 2, pamiętaj, że aktualizacja motywu może nadpisać własne zmiany.

Aby zachować aktualność witryny bez utraty własnych dostosowań, zapoznaj się z naszym przewodnikiem na temat aktualizacji motywu WordPress bez utraty dostosowań.

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.

Mamy nadzieję, że ten artykuł pomógł ci dowiedzieć się, jak skrócić tytuły postów WordPress za pomocą PHP. Zachęcamy również do zapoznania się z naszym przewodnikiem na temat pisania świetnych wpisów na blogu oraz wyborem najlepszych narzędzi content marketingowych i wtyczek do 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.

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