Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak: Powiązane posty z miniaturami w WordPress bez wtyczek

Czy chcesz wyświetlić listę powiązanych postów na swojej stronie WordPress i wolisz używać kodu zamiast wtyczki?

W WPBeginner często podkreślamy znaczenie angażowania odbiorców i zachęcania ich do przeglądania Twoich treści. Jedną z efektywnych strategii, którą widzieliśmy stosowaną na niezliczonych udanych stronach WordPress, jest wyświetlanie powiązanych postów.

Kiedy odwiedzający Twojego bloga skończą czytać interesujący ich artykuł, zaproponowanie listy powiązanych postów utrzyma ich zaangażowanie i pomoże im znaleźć nowe treści do przeczytania.

W tym artykule pokażemy, jak wyświetlać powiązane posty w WordPressie za pomocą kodu, bez potrzeby wtyczki.

Jak: Powiązane posty z miniaturami w WordPress bez wtyczek

Dlaczego wyświetlać powiązane posty w WordPress?

Gdy Twój blog WordPress zaczyna się rozwijać, użytkownikom może być trudniej znaleźć inne posty na ten sam temat.

Wyświetlanie listy powiązanych treści na końcu każdego wpisu na blogu to świetny sposób na zatrzymanie odwiedzających na Twojej stronie internetowej i zwiększenie liczby wyświetleń stron. Pomaga również poprawić widoczność Twoich najważniejszych stron, wyświetlając najlepsze treści tam, gdzie ludzie mogą je łatwo znaleźć.

Jeśli nie znasz się na kodowaniu, łatwiej będzie Ci wybrać jeden z wielu wtyczek do powiązanych postów dla WordPress, które mogą wyświetlać powiązane posty bez kodu.

Ale jeśli kiedykolwiek zastanawiałeś się, czy możesz wyświetlać powiązane posty bez używania wtyczki, podzielimy się dwoma różnymi algorytmami, których możesz użyć do generowania powiązanych postów z miniaturkami, używając samego kodu:

Uwaga: Jeśli chcesz wyświetlić miniaturę z każdym powiązanym postem, upewnij się, że najpierw dodasz obraz wyróżniający do tych postów.

Metoda 1: Jak wyświetlać powiązane posty w WordPressie według tagów

Jednym z efektywnych sposobów lokalizowania powiązanych treści jest wyszukiwanie innych postów, które mają te same tagi. Tagi są często używane do skupienia się na konkretnych szczegółach zawartych w poście.

Mając to na uwadze, możesz chcieć dodać kilka wspólnych tagów do postów, które chcesz ze sobą powiązać. Możesz je wprowadzić w polu „Tagi” w edytorze WordPress.

Pole „Tagi” w edytorze WordPress

Po dodaniu tagów do swoich postów, następnym krokiem jest dodanie następniego fragmentu kodu do szablonu single.php Twojego motywu.

Jeśli potrzebujesz pomocy w dodawaniu kodu do swojej witryny, zapoznaj się z naszym przewodnikiem jak wklejać fragmenty z sieci do WordPress.

$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
   
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
   
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
   
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();

Ten kod wyszukuje tagi powiązane ze stroną, a następnie wykonuje zapytanie do bazy danych, aby pobrać strony z podobnymi tagami.

Gdzie umieścić kod? Zależy to od Twojego motywu, ale w większości przypadków możesz wkleić kod do szablonu single.php swojego motywu, po głównym poście i tuż nad sekcją komentarzy.

Jeśli używasz motywu Twenty Twenty-One, tak jak my na naszej stronie demonstracyjnej, dobrym miejscem do wklejenia kodu jest plik template-parts/content/content-single.php po nagłówku i tuż po <?php the_content();.

Podobne treści według tagów Podgląd

To automatycznie wyświetli powiązane treści w każdym poście WordPress.

Będziesz musiał zmienić styl i wygląd swoich powiązanych postów, aby pasowały do Twojego motywu, dodając niestandardowy CSS.

Przykład powiązanych postów

Wskazówka: Zamiast edytować pliki motywu, co może zepsuć Twoją stronę, zalecamy użycie wtyczki fragmentów kodu, takiej jak WPCode.

WPCode sprawia, że dodawanie niestandardowego kodu w WordPress jest bezpieczne i łatwe. Ponadto, posiada opcje „Wstawianie”, które pozwalają automatycznie wstawiać i wykonywać fragmenty kodu w określonych lokalizacjach na Twojej stronie WordPress, na przykład po poście.

Opcje wstawiania kodu WPCode dla niestandardowych fragmentów kodu

Więcej szczegółów znajdziesz w naszym przewodniku jak łatwo dodawać niestandardowy kod w WordPress. Możesz również zapoznać się z naszą szczegółową recenzją WPCode, aby dowiedzieć się więcej o wtyczce.

Metoda 2: Jak wyświetlać powiązane posty w WordPress według kategorii

Innym sposobem wyświetlania powiązanych treści jest wyświetlanie postów, które znajdują się w tej samej kategorii. Zaletą tej metody jest to, że lista powiązanych postów prawie nigdy nie będzie pusta.

Podobnie jak w Metodzie 1, musisz dodać fragment kodu do szablonu single.php swojego motywu lub do wtyczki do fragmentów kodu, takiej jak WPCode. Aby uzyskać więcej szczegółów, zapoznaj się z Metodą 1 i naszym przewodnikiem na temat jak dodawać niestandardowy kod w WordPress.

$orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 2, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post();?>
   
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();

Teraz na dole każdego wpisu zobaczysz listę powiązanych treści.

Jeśli chcesz zmienić styl i wygląd swoich powiązanych stron, musisz dodać niestandardowy CSS, aby pasował do Twojego motywu.

Chcesz dowiedzieć się więcej o wyświetlaniu powiązanych postów w WordPress? Sprawdź te pomocne tutoriale dotyczące powiązanych postów:

Mamy nadzieję, że ten samouczek pomógł Ci dowiedzieć się, jak wyświetlać powiązane posty z miniaturkami w WordPressie bez wtyczek. Możesz również chcieć dowiedzieć się, jak śledzić odwiedzających Twoją witrynę WordPress, lub zapoznać się z naszą listą 24 wskazówek, jak przyspieszyć działanie Twojej witryny.

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

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

Ostateczny zestaw narzędzi WordPress

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

Interakcje czytelników

184 CommentsLeave a Reply

  1. Powiązane posty to świetny sposób na przyciągnięcie użytkowników do większej ilości treści na Twojej stronie. Po przeczytaniu kilku Twoich artykułów na ten temat, w końcu zrozumiałem moc tej funkcji i zaimplementowałem ją na mojej stronie 404. Teraz, zamiast wyświetlać treść, która już nie istnieje, oferuje ona alternatywy i podobne artykuły moim użytkownikom. Znacznie to zmniejszyło współczynnik odrzuceń mojej strony. Dziękuję nie tylko za ten artykuł, ale także za inne artykuły, które napisałeś na ten temat. Pomogły mi one ulepszyć moją stronę 404.

  2. Próbowałem poprawić powiązane posty WordPress, ale to się nie udawało, gdy zobaczyłem ten kod i użyłem go w moim pliku WordPress, więc teraz moje powiązane posty WordPress pojawiają się poprawnie

  3. Czy jest sposób na powiązane posty na podstawie tytułu posta. Nie mam tagów, a moje kategorie naprawdę nie pomagają, ponieważ nie ma między nimi rozróżnienia.

    Byłoby to bardzo pomocne, gdyby istniał kod do wyświetlania powiązanych treści na podstawie tytułu posta.

    • Thank you for your feedback, this article should currently be using the php version everywhere :)

      Admin

  4. Dziękuję za Twój miły post.

    Tutaj „ignore_sticky_posts” powinno być użyte zamiast „caller_get_posts”. Ponieważ „caller_get_posts” jest przestarzałe.

  5. Czy możesz mi wskazać, gdzie dodać, jakie kategorie chciałbym ograniczyć do powiązanych postów?

    • Ta metoda ogranicza posty do kategorii, w której znajduje się post. Aby ograniczyć kategorie, musiałbyś stworzyć instrukcję warunkową, aby wykluczyć określone kategorie.

      Admin

  6. Czy jest możliwe, że gdy jest więcej niż X powiązanych postów według kategorii, które są powiązane, można losowo wybrać 3 posty?

    • Chociaż jest to możliwe, wymagałoby to dodania znacznie więcej do tego, być może warto rozważyć wtyczkę do tego typu dostosowania.

      Admin

  7. Cześć, czy jest możliwość ograniczenia ich datą? Pokazywania tylko tych z ostatniego roku?

  8. Znalazłem sposób na zmniejszenie miniatur, ale wyświetlają się one w kolumnie, a nie poziomo. Jak można to zmodyfikować?

  9. Skrypt działa dobrze. Jedyny problem, jaki mam, to bardzo duże miniaturki. Czy jest jakiś sposób, aby je zmniejszyć?

  10. jak zrobić skrócony kod dla tego kodu, stworzyłem funkcję, ale nie wiem, jak zwrócić wydruk na stronę.

  11. Cześć,
    Jestem początkujący w WordPressie.
    Chciałbym wyświetlić powiązane posty.
    W głównym menu mam Kategorię A, a w Kategorii A – podkategorie A, B i C. Posty znajdują się w Kategorii A, ale mogą być również obecne we wszystkich 3 podkategoriach.
    Po wybraniu jednego z powiązanych postów coś idzie nie tak i posty z pierwotnie wybranej podkategorii nie wyświetlają się już poprawnie.

  12. Dzięki za tutorial. Było to niezwykle pomocne i działało jak marzenie!

  13. Witaj Administratorze, Bardzo pouczający artykuł. Lubię Twoją stronę ze względu na prostotę i bezpośredniość. Wszystkie artykuły są na temat, ale jeśli chodzi o dzielenie się wiedzą o kodzie, stajesz się zbyt techniczny. Po prostu zignoruj fakt, że wielu odwiedzających nie jest ekspertami od kodowania. Czy nie byłoby znacznie lepiej, gdybyś dodał jeszcze 2 lub 3 linie do swojego wyjaśnienia, aby było kompletne i łatwe do zrozumienia dla wszystkich. Tak czy inaczej, świetny artykuł, ale chcę wiedzieć, jakiego kodu lub wtyczki używa Wpbeginner?

  14. To, co naprawdę jest do bani w twoich artykułach, to to, że nigdy tak naprawdę nie mówisz, JAK coś zrobić. To wszystko jest w porządku, gdy mówisz mi, żebym umieścił kod w moim single.php, ale jako początkujący nie wiem, czym to jest ani gdzie to znaleźć. Możesz pomyśleć o umieszczeniu tego rodzaju krytycznych informacji w swoich artykułach zamiast zakładać, że wiemy, co to znaczy, lub że przeszukaliśmy wszystkie twoje artykuły, aby to rozgryźć.

  15. Dzięki za świetny post, bardzo pomocny. Natknąłem się na błąd w kodzie, więc chciałem się nim podzielić w nadziei, że będzie przydatny dla innych w przyszłości. Błąd brzmiał:

    WP_Query zostało wywołane z argumentem, który jest przestarzały od wersji 3.1.0! „caller_get_posts” jest przestarzały. Użyj zamiast tego „ignore_sticky_posts”.

    Więc po prostu go zastąpiłem i działało dobrze. Używam również przestrzeni nazw, więc musiałem zmienić WP_Query na \WP_Query, a także zmieniłem kolejność poniższego:

    global $post;
    $orig_post = $post;

    Dziękuję jeszcze raz
    Rose

  16. Panie, Używam kodu kategorii, który działa poprawnie, ale jedna rzecz jest taka, że kiedy na stronie głównej ta sama kategoria ma 2 lub 3 posty, link jest czarny, ale chcę, aby pokazywała się kategoria, która jest następnym postem.

  17. Cześć,

    Dziękuję za Twój post. Dodałem kod do content-single.php i zadziałał. Jednak wyświetla się jako 1 kolumna, a nie 3 kolumny, jak w Twoim przykładzie. Czy możesz mi w tym pomóc? Chcę, aby moje powiązane posty były wyświetlane w 1 rzędzie, 3 kolumnach. Dziękuję bardzo.

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.