Popularity Contest Fix für WordPress 2.9 – Teil 2

Montag, 12. April 2010 in Internet allgemein

Heute geht es weiter mit dem gestern begonnenen Popularity Contest Fix für WordPress 2.9 weiter.

Nachdem ich im Lauf des tages festegestellt habe, dass diverse Views bei Home statt an der richtigen Stelle gezählt werden, folgt hier nun der zweite Teil der Reparatur.

Damit Tag-Aufrufe nicht bei Home, sondern bei Tag gezählt werden, ersetze

else if (($api && $type == 'archive') || (is_archive() && !is_category())) {

durch

else if (($api && $type == 'archive') || (is_archive() && !is_category() && !is_tag())) {

und ersetze etwas weiter unten

$result = $wpdb->query("
 UPDATE $wpdb->ak_popularity
 SET tag_views = tag_views + 1
 , total = total + $this->tag_view
 WHERE post_id IN (".implode(',', $ids).")
 ");

durch

$result = $wpdb->query("
 UPDATE $wpdb->ak_popularity
 SET tag_views = tag_views + 1
 , total = total + $this->tag_value
 WHERE post_id IN (".implode(',', $ids).")
 ");

Weiter musste ich fast ganz am Ende der Datei die Zeile

add_action('the_content', 'akpc_view');

durch

add_action('the_post', 'akpc_view');

ersetzen, damit die Methode überhaupt getriggert wird. Dies gilt dann allerdings nur für die Cache-unfreundlichen Aufrufe ohne jQuery (siehe Artikel von gestern).

Die Search-Spalte scheint für die PageViews der Suchmaschinen zu sein. Ob diese funktioniert, vermag ich derzeit nicht einzuschätzen. Selbst wenn dies nicht so sollte, kann ich sie nicht fixen, da ich deren Aufrufe nicht simulieren kann. Weiter scheint es so zu sein, dass Cat-Aufrufe von Artikeln, die mehreren Kategorien angehören, nicht gezählt werden. Sry.

Wird das Plugin eigentlich noch vom ursprünglichen Autor betreut? Die aktuelle Version 2.0b2 jedenfalls ist von Juni 2009 und damit dann doch schon ein wenig älter und sollte dringend korrekt angepasst werden.

 

Ähnliche Beiträge:

Kommentare: Schlagwörter: , ,

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Kommentar

Diese HTML Tags und Attribute dürfen benutzt werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>