Nejkomentovanější články na webu

V rubrice: Tipy & Triky | Obtížnost:

Pod některými vašimi články může vzniknout zajímavá diskuze na určité téma. Počet komentářů postupně narůstá a Vy byste nějak měli čtenáře nějakým způsobem upozornit, že „Tady to žije.“

WordPress vám umožní zobrazit pouze nejnovější příspěvky, ale my si vytvoříme widget, který nám umožní zobrazit ty nejkomentovanější. Návod, jak vytvořit uživatelský widget je i zde na webu. Pro samotné zobrazování nejkomentovanější pak stačí použít tento kód:

<ul>
    <?php
    $result = $wpdb->get_results("SELECT comment_count,ID,post_title
    FROM $wpdb->posts
        WHERE post_status = 'publish'
        ORDER BY comment_count DESC
        LIMIT 0, 5");
    foreach ($result as $post) {
        setup_postdata($post);
        if ($post->comment_count != 0) {
            ?>
            <li><a href="<?php echo get_permalink($post->ID); ?>" title="<?php echo $post->post_title; ?>">
            <?php echo $post->post_title; ?></a> (<?php echo $post->comment_count ?>)</li>
        <?php }
    }
    ?>
</ul>

Dobře vám poslouží i časové omezení, které zabrání vypisování starý a neaktuálních článků, kde diskuze sice byla živá, ale nyní už skomírá. Stačí nahradit 3. řádek tímto:

$result = $wpdb->get_results("SELECT comment_count,ID,post_title
    FROM $wpdb->posts
        WHERE post_status = 'publish' AND post_date > INTERVAL -1 YEAR + NOW()
        ORDER BY comment_count DESC
        LIMIT 0, 5");
V rubrice: Tipy & Triky | Obtížnost:

Komentáře

  1. Ahoj, můžete mi prosím poradit, kam tohle mám vepsat? Vytvořil jsem si userwidget podle prvního návodu ve functions, ale vůbec nevím, co dál. Díky.

    1. Ahoj, je to návod spíše pro pokročilé. V tomto případě bych spíše doporučil najít si plugin, který umí zobrazit nejkomentovanější články ve widgetu. Takový bude jistě existovat.

Comments are closed.