Vypisování podobných článků


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ů”