Hallo,
ich hab mir ein kleines Plugin gebastelt, daß mir die xx am häufigsten gelesenen Beiträge ausgibt á la Populary Contest, allerdings nur auf Basis der Views. (Die Views werden vom Plugin View_Counter gezählt)
Das Plugin ist wirklich winzig:
function top10_posts($before = '<li>', $after = '</li>', $notfound = FALSE) {
// WordPress globals
global $wpdb;
// SQL QUERY
$queryresult = $wpdb->get_results("SELECT ID, post_title, view_count FROM $wpdb->posts
WHERE post_status IN('publish', 'static')
ORDER BY view_count
DESC
LIMIT 0,6
");
if (is_array($queryresult)) {
foreach($queryresult as $my_loop)
{
print( $before.'<a href="'.get_permalink($my_loop->ID).'">' .$my_loop->post_title.'</a>'.$after );
}
} else {
return $notfound;
}
}
Alles anzeigen
Das Problem:
Ohne Plugin: 34 queries. 1.128 seconds.
Mit Plugin: 57 queries. 1.279 seconds.
Da komm ich einfach nicht hinter, ich kann es nicht kapieren, wo zum Teufel nimmt num_queries denn auf einmal zusätzliche 23 Queries her? Hab ich einen Denkfehler?
Eigentlich wollte ich mir das doch ziemlich umfangreiche Plugin popularity-contest ersparen, da ich für meine Zwecke nur eine Alltime-Topliste brauche und ich irgendwo eine riesige Bremse im System vermute. Die Lösung ist bestimmt ganz einfach.... :-?
PS: 34 queries. 1.128 seconds. - Das erscheint mir arg langsam, bei vergleichbaren Sachen kenne ich eher so Zeiten mit 0.x Sekunden?!