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");
2 responses to “Nejkomentovanější články na webu”
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.
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.