Jak bude vlastně script rozeznávat podobné články? Pomocí tagů. Vybere všechny příspěvky se stejným štítkem, náhodně je promíchá a vypíše tolik, kolik si zvolíte. V příkladu, který vidíte níže, zobrazuji u každého článku jeho náhledový obrázek. Je známo, že právě ty a hezky vytvořený nadpis, navnadí návštěvníka ke čtení.
Nyní samotná funkce, kterou vložíte do souboru šablony functions.php
function related($ID, $pocet) { $posttags = get_the_tags($ID); if ($posttags) { foreach ($posttags as $posttag) { $tags[] = $posttag->term_id; } } $not = array($ID); $loop = 0; $my_query3 = new WP_Query(array('tag__in' => $tags, 'posts_per_page' => $pocet, 'orderby' => 'rand', 'post__not_in' => $not)); while ($my_query3->have_posts()) { $my_query3->the_post(); echo "<div class='relat'>"; ?> <a href='<?php the_permalink(); ?>'> <?php if (has_post_thumbnail()) { the_post_thumbnail(array(100, 200), array('class' => 'alignleft')); } ?> </a> <?php echo "<h4><a href='" . get_permalink() . "'>" . get_the_title() . "</a></h4>"; the_excerpt(); echo "</div>"; if ($loop % 2) echo "<div style='clear: both'></div>"; $loop++; } wp_reset_postdata(); }
Dalším krokem je nalézt si vhodné místo v šabloně (obvykle se nalézá někde v souboru single.php) a vložte toto:
related($post->ID, 4);
Druhé číslo značí kolik článků chcete zobrazit. Příklad, kde je toto řešení použito v praxi naleznete například na mém webu http://wordpress-sensei.cz/2010/11/12/setrime-kolego/ Samotný vzhled vytvářený pomocí kaskádových stylů si už budete muset připravit sami.
One response to “Vypisování podobných článků”
Zajímavý článek, díky za tip 🙂