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.

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:
- Metoda 1: Jak wyświetlać powiązane posty w WordPressie według tagów
- Metoda 2: Jak wyświetlać powiązane posty w WordPress według kategorii
- Przewodniki eksperckie dotyczące powiązanych postów w WordPressie
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.

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();.

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.

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.

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.
Przewodniki eksperckie dotyczące powiązanych postów w WordPressie
Chcesz dowiedzieć się więcej o wyświetlaniu powiązanych postów w WordPress? Sprawdź te pomocne tutoriale dotyczące powiązanych postów:
- Jak wyświetlić powiązane posty w WordPress (krok po kroku)
- Jak wyświetlać powiązane posty tego samego autora w WordPressie
- Jak wyświetlać najnowsze posty w WordPress
- Jak wyświetlić najnowsze posty z konkretnej kategorii w WordPressie
- Jak dodać powiązane posty w tekście do wpisów na blogu WordPress
- Jak wyświetlać losowe posty w WordPress
- Jak wyświetlać powiązane strony w WordPress
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.
Jiří Vaněk
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.
Wsparcie WPBeginner
Glad to hear our content was helpful
Admin
kabir bairwa
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
Wsparcie WPBeginner
Cieszę się, że nasz przewodnik mógł Ci pomóc!
Admin
Jennifer
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.
aman
Chcę kod do wyświetlania losowych postów i stron z miniaturką
Wsparcie WPBeginner
Warto zapoznać się z naszym poniższym przewodnikiem:
https://www.wpbeginner.com/wp-tutorials/how-to-display-random-posts-in-wordpress/
Admin
karan4official
Zamiast używać <? używaj <?php wszędzie
Wsparcie WPBeginner
Thank you for your feedback, this article should currently be using the php version everywhere
Admin
Motahar Hossain
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.
Wsparcie WPBeginner
Thanks for pointing that out, we’ll be sure to look into updating the article
Admin
Frank
Czy możesz mi wskazać, gdzie dodać, jakie kategorie chciałbym ograniczyć do powiązanych postów?
Wsparcie WPBeginner
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
Greg
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?
Wsparcie WPBeginner
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
Akiode obasanjo
Nie dodano żadnego CSS
luigi
Cześć, czy jest możliwość ograniczenia ich datą? Pokazywania tylko tych z ostatniego roku?
Luis
Znalazłem sposób na zmniejszenie miniatur, ale wyświetlają się one w kolumnie, a nie poziomo. Jak można to zmodyfikować?
Luis
Skrypt działa dobrze. Jedyny problem, jaki mam, to bardzo duże miniaturki. Czy jest jakiś sposób, aby je zmniejszyć?
Wsparcie WPBeginner
Cześć Luis,
Używa domyślnego rozmiaru miniatur postów. Możesz utworzyć nowy rozmiar miniatury, a następnie użyć go w kodzie w następujący sposób:
1-click Use in WordPress
Admin
Ana
jak zrobić skrócony kod dla tego kodu, stworzyłem funkcję, ale nie wiem, jak zwrócić wydruk na stronę.
Musarrof
Dlaczego napotykam ten problem. błąd składni, nieoczekiwany koniec pliku
Proszę o pomoc.
Mike
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.
Anthony Reese
Dzięki za tutorial. Było to niezwykle pomocne i działało jak marzenie!
pawan singh
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?
Ahmad
bardzo pomocne, dzięki!
Tracy
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źć.
Victor Siyaya
Zgadzam się. Nie mam pojęcia, gdzie wkleić ten kod.
Rose
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
sanjeev Kumar
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.
Luan
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.
Claudio
Witaj!
Pierwszy link w Dodatkowych Źródłach jest zepsuty.
Dziękuję za kod.
Wsparcie WPBeginner
Cześć Claudio,
Dziękujemy za powiadomienie. Usunęliśmy niedziałający link.
Admin