Powiązane posty można łatwo wyświetlać za pomocą wtyczek, ale czy kiedykolwiek zastanawiałeś się, jak możesz wyświetlać powiązane posty z miniaturą bez użycia wtyczki? W tym artykule udostępnimy dwa różne algorytmy, których możesz użyć do generowania powiązanych postów z miniaturami i unikania używania jakiejkolwiek wtyczki.
Uwaga: wykorzystamy wbudowaną funkcję miniatury postów WordPress. Więc najlepiej jest, jeśli to zaimplementujesz.
Related Posts by Tags
WordPress ma tę niesamowitą taksonomię znaną jako” Tagi postów”, których możesz użyć. Możesz oznaczyć każdy ze swoich postów wieloma słowami kluczowymi. Ten algorytm znajdzie inne posty z dowolnym tagiem, który ma bieżący post i wyświetli je.
<?php $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, / / Liczba powiązanych postów, które zostaną wyświetlone.
'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>< / div>’;
}
}
$post = $ orig_post;
wp_reset_query ();?>
Powyższy kod patrzy na bieżący identyfikator postu i wszystkie tagi, które są z nim powiązane, i używa funkcji wp_query, aby wyszukać wszystkie inne posty, które pasują do dowolnego oryginalnego tagu i wyświetlić je. Możesz stylizować post i tak chcesz je.
Korzyść: Większość kodów w sieci nie może być używana w głównej pętli post. Ponieważ powiązane posty są umieszczane tuż po głównym poście i nad komentarzami, ten kod jest bardzo pomocny. Zapisujemy bieżący identyfikator postu głównej pętli, a następnie przywołujemy go na końcu naszego powiązanego kodu postów. Zwykle, gdy nie robisz tego w ten sposób, dwa kody identyfikacyjne postów mieszają się, a następnie komentarze zaczynają zachowywać się dziwnie, co może złamać komentarze, inne wtyczki związane z komentarzami, takie jak system numeracji itp. Więc ten kod jest dobry i działa.
Użycie: Umieść ten kod w dowolnym miejscu w swoim singiel.php i to zadziała. Ale przez większość czasu jest umieszczony tuż nad komentarzami w głównej pętli.
Powiązane posty w kategorii
Algorytm ten znajdzie inne posty w tej samej kategorii co bieżący post i wyświetli je jako powiązane posty. Zaletą tej techniki jest to, że nigdy nie będziesz miał pustego miejsca dla sekcji powiązanych postów.
<?php $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, / / Liczba powiązanych postów, które zostaną wyświetlone.
'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>
<?
}
echo ’ < / ul>< / div>’;
}
}
$post = $ orig_post;
wp_reset_query ();?>
Ta technika wykorzystuje te same funkcje, co powyższa, z wyjątkiem tego, że po prostu używamy różnych kryteriów.
Jeśli tworzysz nowy projekt lub pracujesz na stronie klienta, może to być bardzo pomocne.
Przykład

Dodatkowe Źródła:
Funkcja zapytania i znaczniki szablonów dla WordPress