WP-Plugin :: Anzahl der Leser pro Post <=> post-based counter “Readers_Post”
29. October 2006 — Zuletzt bearbeitet: 23. May 2009 | 30779x gelesen
Dieses Plugin zeigt zu jedem Post an, wie oft er schon gelesen wurde. Außerdem können die letzten X gelesenen Posts angezeigt werden und welche Posts die Beliebtesten sind.
You can find the english version further down.
Was macht das Plugin “Readers_Post”?
Es zeigt unter jedem Post, egal ob Seite oder Beitrag, die Anzahl der bis dahin stattgefundenen Aufrufe an. Das geschieht zum Beispiel durch folgende Zeile: “Dieser Artikel wurde bis jetzt schon 203mal gelesen.” Die Art der Ausgabe ist dabei voll konfigurierbar.
Außerdem kann ich eine Anzeige generieren, welche die zuletztet gelesenen Posts von den Besuchern Deines Blogs waren und welche Posts am Häufigsten aufgerufen wurden.
Wie funktioniert das Plugin?
In einer seperaten Tabelle werden die Zugriffe auf die einzelnen Beiträge notiert. Das macht es einfacher bei einem Update von WordPress.
Zugriffe des Seiteninhabers werden nicht mitgezählt.
Wie nutze ich das Plugin?
Möglichkeit 1.: Innerhalb der Loop kann ich die Anzeige der bisherigen Leser durch folgenden Aufruf integrieren:
readers(’vorher’,'nachher’,display);
Die Parameter bestimmen dann das Aussehen der Anzeige:
$vorher (string) => Text, der vor der eigentlichen Anzahl ausgegeben wird. (optional)
$nachher (string) => Text, der nach der eigentlichen Anzahl ausgegeben wird. (optional)
$display (boolean) => Zeigt den kompletten Text an (true, voreingestellt) oder gibt nur die entsprechende Anzahl innerhalb von PHP zurück (false)
Beispiele:
readers(); => “This post was read by 40 people until now.”
readers(’Du bist der ‘,’. Leser dieses Posts.’); => “Du bist der 40. Leser dieses Posts.”
Möglichkeit 2.: An jeden beliebigen Platz außerhalb der Loop kannst Du nun anzeigen lassen, wie denn die letzten Post heissen, die von allen Besuchern Deines Blogs gelesen wurden. Das funktioniert zum Beispiel in der Sidebar ganz gut. Die Ausgabe erfolgt als Liste. Die Syntax lautet:
last_posts(Anzahl,Zeichen,’vorher’,'nachher’);
Die Parameter bestimmen dann das Aussehen der Anzeige:
$Anzahl (integer) => bestimmt die Anzahl der zuletzt gelesenen Posts (default=5)
$Zeichen (integer) => falls der Titel des Posts aus Platzgründen gekürzt ausgegeben werden muss, kann hier die Anzahl der Zeichen angegeben werden (default=0, d.h. keine Kürzung)
$vorher (string) => Text, der vor der eigentlichen Anzahl ausgegeben wird. (optional)
$nachher (string) => Text, der nach der eigentlichen Anzahl ausgegeben wird. (optional)
Beispiel:
last_posts(); => Zeigt eine Liste mit 5 Titel der zuletzt gelesenen Posts an.
Möglichkeit 3.: An jeden beliebigen Platz außerhalb der Loop kannst Du nun anzeigen lassen, wie denn die meistgelesenen Posts heissen. Acu das funktioniert zum Beispiel in der Sidebar ganz gut. Die Ausgabe erfolgt als Liste. Die Syntax lautet:
hot_posts(Anzahl,Zeichen,’vorher’,'nachher’);
Die Parameter bestimmen das Aussehen der Anzeige genau wie bei last_posts():
Beispiel:
hot_posts(10); => Zeigt eine Liste mit 10 Titel der am häufigsten gelesenen Posts an.
Auf der Startseite findest Du am Ende der Seite ein Beispiel von der Variante 2 und 3. Die Integration von Variante 1 ist in meinem Blog kaum zu übersehen
Download und installieren
Das Plugin kann hier runtergeladen werden und muss dann mittels FTP in das Plugin-Verzeichnis hochgeladen werden. Dann einfach in der Plugin-Verwaltung entsprechend aktivieren. Die oben unter 1. beschriebene Funktion kann innerhalb von der Loop in dem Template page oder single aufgerufen werden. Ich habe das Plugin für die Wordpressversionen 2.0 und 2.1 getestet.
Versionen
Die Version 1.0 habe ich am 1. November 2006 veröffentlicht und hat gegenüber den Vorversionen eine einfachere und sichere Zählmethode.
Viel Spaß!
OK, I try a description of my WordPress plugin in english, but I’m not a native speaker – so reading is on your own risk
The plugin “Readers_Post” shows for each post how often it was visited. So it works as a posts-based counter. You can generate something like “This post was read by 40 people until now” under each post of your WordPress blog.Secondly you can display the most recent posts that were read by other visitors and the most visited posts of all time.The visits is counted in a seperate table, so an update of WordPress causes no trouble. The visits of the SiteAdmin will not be counted.How does it work?
1. Calling in the Loop the function
readers(’before’,'after’,display);
shows the number of vistors for this post.
The following parameter control the displaying of the information:
$before (string) => text posted before the number of visitors (optional)
$after (string) => text posted after the number of visitors (optional)
$display (boolean) => Shows the text (true, preset) or return just the value for using it in a different function of your php-code (false)
Example:
readers(); => “This post was read by 40 people until now.”
readers(’You are number ‘,’ reading this post’); => “You are number 40 reading this post.”
2. At any place outside the loop you can use the function
last_posts(number,letters,’before’,'after’);
for displaying your visitors a list of your post titles, that were the recent ones read by other visitors. It may be useful for your sidebar. This is nice if you have a blog with several topics to call the attention to something different within your blog.
Have a look at the parameter:
$number (integer) => quantity of recent posts (default=5)
$letters (integer) => if for layout reasons it is necessary to shortened the title of your post this parameter sets the number of letters to be shown (default=0, which means: no abbreviation)
$before (string) => text posted before the number of visitors (optional)
$after (string) => text posted after the number of visitors (optional)
Example:
last_posts(8,50); => shows a list of the recent 8 posts read by visitors – the title of each post is shortened for the first 50 letters.
3. Nearly the same as 2. is
hot_posts(number,letters,’before’,'after’);
but it makes a list of the most viewed posts on your blog. The parameters are the same as at number 2.
Example:
hot_posts(10); => shows a list of the 10 most viewed posts
Download and installation
Just download the plugin, upload this to your wp-content/plugins/ directory, and activate the plugin in WordPress plugin administration. The function readers(); must be used in the Loop at single.php or page.php. I tested the plugin for the Wordpress versions 2.0 and 2.1.
Changelog
Version 1.0 (11/1/2006)
- better and more secure counting
- new function hot_posts
Have fun!




(81 Bewertungen, Durchschnitt: 4.31 von 5)


Sunday, 29. October 2006
An sich eine sehr gute Idee. Allerdings setzt das voraus, dass man seine Semmelstatz-Tabelle nie aufräumt, oder?
Sunday, 29. October 2006
Als Autor von semmelstatz schaue ich mir das selbstverständlich mal an.
Sunday, 29. October 2006
@Legolas: Ja, das hatte ich in der ursprünglichen Version nicht bedacht.
Deswegen habe ich das Plugin nun umgestrickt und es funktioniert auch ohne Semmelstatz.
Monday, 30. October 2006
Hi,
I see that your plug-in seems very good. Could you please explain in English how exactly one could integrate it.
I promise that if you translate the explanations above, your plug-in will get MUCH MORE popular!
Monday, 30. October 2006
Hallo,
habe dein Plugin zwar noch nicht eingebaut(mit meinem derzeitigen Plugin kommt es zu Fehlzählungen),
aber beim testen ist mir aufgefallen mit deiner Funktionsbezeichnung was nicht stimm:”post_readers()” gibt es nicht. “readers()” dagegen schon. Also entweder in deiner Doku was ändern oder im Plugin.
mfg
markus
Monday, 30. October 2006
Danke, Markus für den Hinweis! Habe die Doku entsprechend geändert.
Tuesday, 31. October 2006
Ups, da habe ich eben noch einen schönen Fehler entdeckt: der aktuelle Timestamp wurde nicht gesetzt…
Wer es also bis hier schon mal runtergeladen hatte, bitte erneut downloaden, um die korrigierte Fassung zu bekommen.
Tuesday, 31. October 2006
Hallo,
ohne jetzt noch mal in den Quelltext zu schauen: das macht wahrscheinlich die Datenbank selber. Jedenfalls fand ich Zeitangaben in der Tabelle.
mfg
markus
Tuesday, 31. October 2006
@Markus: nein, das macht die Datenbank nicht selber, obwohl sie das natürlich könnte. Die Zeitangabe hast Du gefunden, weil beim “Erstbesuch” der Zeitstempel erzeugt wurde. Deswegen hatte ich den Fehler ja auch nicht sofort entdeckt
Thursday, 2. November 2006
auch wenn ich es nicht benütze, finde ich es trotzdem gut, dass du so was tolles machst!
Thursday, 9. November 2006
I don’t undestand either. I tried to undestand the loop on wordpress codex but i dont know how to call it. I dont know if i had to create a file named single.php. I don’t know how to use the functions : i mean, what to write to call these fuctions?
Besides, i am french, and though i undestand what the codex said, it seems confuse to me..
Could you make that file single.php in english please? (with the functions you want… )
It’ll be clearer for us. Plus, guys like me would surely understand how to customize it.
Cheers Stefan
Ps : i had to translate the spamschutz to understand it.. lol
Friday, 10. November 2006
@floppy: what you don’t understand is a function of wordpress and had nothing to do with my plugin. I had a look at your blog and until now you only use the page.php, not the single.php. This doesn’t matter – you can use the plugin as described.
And thank you for rating it with only one star – that’s a fine way begging for help.
Saturday, 11. November 2006
i am really sorry. It pissed me off, not because of you, but because of the lack of explanations and I have no notions of php. I called the function at single.php, nothing changed. I called it then in page.php, idem.
I tried many ways. And i think your instructions are incomplete.
1/
In page.php
- I added
a/ I added then ->doesn’t work
I added instead –> doesn’t work
b/ I remove the “require” request
- i tried again the a/
2/ i tried the whole thing with the “require” in loop.php –> no success
3/ a/i’ve just added in page.php.
b/ i added it in both single and page
In my K2 template, there are already 3 fils, single.php, page.php and loop.php.
Which ones do i have to modify ?
(in fact, i am wondering if i have to modify my loop.php)
Saturday, 11. November 2006
and i know i dont undestand the loop thing..
Sunday, 12. November 2006
This is a very fun and informative plugin.
Danke und thanks!
Tuesday, 14. November 2006
Sehr geile Extension. Danke für das Tutorial und das HowTo.
Monday, 29. January 2007
readers(’Du bist der ‘,’. Leser dieses Posts.’);
funktioniert so nicht, da spuckt er mir einen Fehler aus.
Wenn man allerdings die Hochkommas mit Hochstrichen tauscht (sprich ‘ anstatt ’),
funktioniert es. Vielleicht ist ja die Blockquote-Funktion schuld? =)
mfg
Monday, 29. January 2007
Hallo Stephan,
ja, das liegt am Blockquote! Der Code funktioniert so also schon, aber er darf nicht aus diesem Text hier herauskopiert werden.
Bei der nächsten Version lege ich ein Readme bei
Grüße
Stefan
Tuesday, 6. February 2007
Ich hab’ den readers Aufruf im Loop auf der Single php, das plugin kann jedoch scheinbar die Tabelle nicht erstellen:
WordPress database error: [Table 'mybase.myprefix_post_counter' doesn't exist]
SELECT count(*) as vorhanden FROM `myprefix_post_counter` where `post_id` =0 LIMIT 0,1
Ich habe das Plugin mehrmals aktiviert, ein- und ausgeloggt, einen Beitrag aufgerufen. Habe WP 2.07.
Grüsse, Jörn
Tuesday, 6. February 2007
Moin Jörn,
ich habe Dir die aktuelle Fassung des Plugins geschickt, die auch hier im Blog im Einsatz ist. Die hat noch ein paar Zusatzfunktionen und funktioniert garantiert
Grüße
Stefan
Wednesday, 14. February 2007
I really like this plugin, but I’ve run into some trouble. It works great except i use title urls rather than id urls. I think Google has been following the id urls that this plugin puts on my homepage when spiders visit. So google news lists my posts twice (once with an id url and once with a title url). I’m wondering if there’s something I can change in the php file so that title urls are shown rather than id urls. I’m a novice with all this.
I’d like to start using this plugin again, it increased pageviews a lot. I appreciate any help you can give me.
Wednesday, 28. February 2007
wunderbar, vielen dank!
Friday, 2. March 2007
Cooles Plug-in; vielen Dank.
Eine Frage: auf Deiner Homepage zeigst Du nicht nur an, welche Beiträge zuletzt gelesen wurden, sondern auch wann. Magst Du den Code für dieses Schmankerl mit uns teilen?
Dankeschön!
Friday, 2. March 2007
@Martin: habe ich schon längst, aber mangels Zeit nicht in einer pluginfähigen Version. Kommt aber bestimmt!
Sunday, 4. March 2007
Hallo Stefan,
vielen Dank für dein tolles Plugin! Einen Wunsch (oder auch Verbesserungsvorschlag) habe ich:
Könntest du statt der “normalen” Links auch eine Möglichkeit schaffen, die individuelle Permalink-Struktur des Blogs zu berücksichtigen? (Also das, was WordPress über “the_permalink()” zurückgibt.)
Das dürfte gerade für die Suchmaschinen einen positiven Effekt bringen, denke ich.
Viele Grüße
Stephan
Sunday, 4. March 2007
@Stephan: Gut, dass Du das erwähnst. Lade Dir das Plugin einfach erneut runter und Du wirst die richtige Linkstruktur drin haben
Monday, 5. March 2007
Hallo Stefan,
prima: Das funktioniert.
Ein kleiner Bug scheint sich aber eingeschlichen zu haben (oder ich habe etwas nicht verstanden):
Die Funktion “last_posts” nimmt auf die Variable “hotposts” Bezug und weist diese als Anzahl der Leser aus. Bei mir bleibt diese Anzeige allerdings immer leer (bei der Funktion “hot_posts” funktioniert’s).
Ich hab das “hotposts” ersteinmal im Plugin-Code bei “last_posts” entfernt. Ist dieser Teil versehentlich in die echo-Zeile mit reingerutscht? Zumindest scheint mir die Variable nicht befüllt zu werden (nicht im SELECT und keine Zuweisung eines Wertes).
Viele Grüße!
Stephan
Monday, 5. March 2007
Hallo Stephan, ein erneutes Dankeschön. Jetzt weiß ich wieder, wieso ich die Version 1.1b genannt hatte
Bitte noch mal runterladen und dann sollte der Fehler behoben sein.
Grüße
Stefan
Monday, 5. March 2007
Hallo Stefan,
vielen Dank! Nu tut’s!
Viele Grüße, Stephan
P.S.: Dann kannst du jetzt ja auch die Versionnummer weiter hochzählen … ;D
Tuesday, 6. March 2007
Hi Stephan! Thanks for this amazing plugin. This is just what i was looking for! I have a couple of questions though. I think i am using the function wrong to call the plugin. I tried to do it Maria’s way but that didn’t work for me either. How do you call the plugin exactly? What function do you use? I tried it both ways that Maria has it, and it didnt work.
I didn’t want my last posts to show, i just wanted it to show “how many readers read this post until now” how would i go about calling the plugin or using that function? Any help would be VERY appreciated.
Tuesday, 6. March 2007
Hi Julie, please have a look at my description. It’s just the first way of calling the function to get what you want. So the function is called “readers()”.
Give it a try. Best wishes, Stefan
Monday, 12. March 2007
Ich habe ein kleines Problem:
hot_posts() schließt die aufgerufenen Seiten mit ein. Natürlich zählt das Impressum irgendwann zu den Spitzenreitern, aber man will es eigentlich nicht unter den Hot Posts sehen.
Frage: Wie kann man die Pages aus den hot_posts() ausschließen?
Thursday, 15. March 2007
Hi, nice plugin
I have a question, I tryed to add a hot_posts_month function that will show the most read posts of the month (not hot posts published on the month but hot readed posts during the month). So I changed a function to this:
function hot_posts_month($limit = 5, $cut_off = 0, $before=”, $after=”, $year=false , $month=false){
global $wpdb;
if(!$year||!$month) {
$year=date(”Y”);
$month=date(”m”);
}
$home = get_option(’siteurl’);
$daysInMonth = date(”t”,mktime(0,0,0,$month,1,$year));
$lastXs = $wpdb->get_results(”SELECT “.$wpdb->posts.”.ID AS ID,”.$wpdb->posts.”.post_title AS TITLE ,”.$wpdb->post_counter.”.post_count AS ZAEHLER FROM “.$wpdb->posts.”,”.$wpdb->post_counter.” where “.$wpdb->post_counter.”.post_id = “.$wpdb->posts.”.ID AND post_date >= ‘$year.-.$month.-1′ AND post_date posts.”.post_status = ’static’ OR “.$wpdb->posts.”.post_status = ‘publish’) order by “.$wpdb->post_counter.”.post_count DESC limit 0,”.$limit);
foreach ($lastXs as $lastX) {
$nummer = $lastX->ID;
$title = $lastX->TITLE;
$title = wptexturize($title);
if ($cut_off>0){
$title_short = substr($title,0,$cut_off);
}else{
$title_short = $title;
}
$hotposts = $lastX->ZAEHLER;
if ($hotposts == 1) {
echo $before . ““. $title_short . ” (letto “.$hotposts.” volta) ” . $after;
} else {
echo $before . ““. $title_short . ” (letto “.$hotposts.” volte) ” . $after;
}
}
}
but since I am not a programmer I think that this deosn’t works and, even if it worsk, will show the hot articles published on the month. Is it correct? There is a way to do what I need?
cheers
dat
Friday, 16. March 2007
Hi dat,
don’t make it so complicated. The function you want is already implemented. Just have a look at the function hot_posts_last and change the $query_delete-Statement to the interval you want. That’s it!
The calling of hot_posts_last will show you the most read posts in the last x days.
Hopefully I could help you and you get the think to work
Greetings
Stefan
Friday, 16. March 2007
Obviously you are right, is really what I need.
Maybe there is a bug in the query of hot_posts_last that doesn’t use the $limit parameter so I changed this
group by ID order by ZAEHLER DESC”);
to this
group by ID order by ZAEHLER DESC limit 0,”.$limit);
and now seems to work. This is correct?
Thank you for this nice plugin.
dat
Friday, 16. March 2007
Hi dat, again
No, you can’t use the limit function that way. Please correct the following
$a = (count($lastXs) > 10 ? 10 : count($lastXs));
to
$a = (count($lastXs) > $limit ? $limit : count($lastXs));
And thanks for your hint!
Greetings
Stefan
Wednesday, 21. March 2007
Trial that Thank you
Sunday, 25. March 2007
Ich habe einen kleinen Fehler entdeckt; in der letzten Zeile lautet es:
echo $before . ““. $title_short . $after;
Hier fehlt der Abschluss vom a. Das gibt Probleme bei Safari.
Besser also:
echo $before . ““. $title_short . “” . $after;
Sunday, 25. March 2007
Right. That code did not display correctly. So here is a link that discribes the fix:
http://modifoo.com/2007/03/25/readers_post-fix.html
Thursday, 29. March 2007
@modifoo: I think you’re download is outdated
If you download the actual version there is no missing end-tag of a link. And not only since a few days…
Saturday, 31. March 2007
Oh,oh – Asche ueber mein Haupt. Irgendwie hatte ich es doch glatt geschafft, die alte 1.0 version zu installieren…
Danke fuer das Update. Schein mir aber, dass ein Teil noch nicht ins Englische uebersetzt ist?
Saturday, 31. March 2007
Ich noch einmal – an 3 Stellen war noch der deutsche Text. Zweimal wenn die Leserzahl “Leser” ist, und einmal unter “Die Artikel wurden in den lezten 14 Tagen usw”
Danke nochmals fuer das Prima plug-in & guten Start in the Motorradsaison
Saturday, 21. April 2007
Danke für den Plugin. Hab aber immer Fehlermeldungen bekommen, als ich den downlaoden wollte. Hab Ihn zwar jetz aus google gezogen, aber irgendwas passte bei Deiner seite mit dem Downlaod nicht. Check das doch mal.
Monday, 23. April 2007
Hey, guter Plugin. Danke Dir vielmals.
Sunday, 6. May 2007
Sach ma, kann man in deinem tollen Plugin einstellen, das es nie null leser sind? Weil sieht ja doof aus.. vorallem weil das gerade bei mir nicht stimmt. und zweite sache: wie lange speichert der einen leser als LEser, und wo kann man das anders einstellen?
Dies is für mich insofern wichtig, als das wir beiträge haben, die für uns oder den Anbieter des Inhalts Leserrelevant Kostenpflichtig sind.
Danke für deine Mühe
Sunday, 6. May 2007
Ja, irgendwas scheint mit dem Plugin nicht zu stimmen. Nachdem ich mein Design erneuert habe, habe ich das Gefühl, dass der Leserzähler nicht mehr stimmt. Während mein Semmelstatz viele gleichzeitige Leser anzeigt, zählt Readers_Post nur ganz langsam nach oben. Woran liegt das denn?
Sunday, 6. May 2007
@Die Bloggerin: Da ist überhaupt kein Reload-Schutz drin und nicht nur deswegen ist das Plugin für kostenpflichtige Seiten nicht nutzbar. Es ist einfach nur eine Spielerei.
@Marcel: Ich war eben auf Deiner Seite und der Zähler hat mich ordnungsgemäß registriert. Semmelstatz sieht bei jedem Aufruf Deiner Seite den ersten Artikel als gelesen an. Mein Plugin zählt nur, wenn der Artikel angeklickt wird. Daher eventuell die Unterschiede.
Sunday, 6. May 2007
Naja, is nicht schlimm
is ne sehr nette spielerei
Sunday, 6. May 2007
Aso, ja dann versteh ich die Unterschiede. Danke für das schöne Plugin und die schnelle Antwort.
Monday, 7. May 2007
Hm… aber irgendwas stimmt doch da net. Während mein Semmelstatz neue Rekorde anzeigt, dümpeln meine Readers_Post-Leser so vor sich hin. Wenn man sich mal die 5 letzten Beiträge ansieht, gehn die Leser von über 1000 beim 5. auf knapp 30 beim 1. herunter und das obwohl seit Tagen immer mehr Besucher auf die Seite kommen. Ich find das Plugin sehr schön und will’s eigentlich nicht entfernen, aber irgendwie sieht das… naja… so dumm aus wenn die beiträge nicht mal über 50 Leser kommen *g* kann man da nix machen, dass es so wie Semmelstatz auch die startseitenbesucher zählt, solangs der 1. Beitrag ist?
grüße, marcel
Tuesday, 8. May 2007
Moin Marcel,
natürlich kann man da was machen – du must nur das Insert-Statement öfter aufrufen. Ich werde mein Plugin aber bestimmt nicht ändern, denn IMHO zählt Semmelstatz falsch. Nur weil jemand Deine Seite aufruft, heißt das ja noch lange nicht, dass der erste Beitrag auch gelesen wird. Allerdings kann ich natürlich nachvollziehen, dass man gerne höhere Zählerstände hätte.
Wenn Du Dein Blog umstellst, so dass die Texte nur angeteasert werden, wird mein Plugin auch für Dich höhere Leserzahlen bringen.
Viele Grüße
Stefan
Wednesday, 16. May 2007
Maybe I’m being stupid, but I get this message in the upper part of my website:
WordPress database error: [Table 'ensiteblog.wp_post_counter' doesn't exist]
and some ’select counter something’ text which blocks me from posting this comment.
It’s not working either. Did I do something wrong? =P (ofcourse, I did)
Wednesday, 16. May 2007
@Flower: obviously there wasn’t a correct way of activation. Please try it again in your plugin-interface.
Monday, 21. May 2007
Hallo,
ich habe die Funktion hot_posts des Plugins auf meiner Startseite eingebaut. Sie funktioniert soweit auch ganz gut.
Kann man die Funktion überreden, bestimmte Beiträge (z.B. Startseite und Impressum) zu ignorieren ?
VG Andreas.
Sunday, 3. June 2007
I get the same database error as @Flower, and I DO know what I’m doing.
I deactivated it and re-activated it with no luck.
would you by any change be able to post the actual table creation script for me to run in my Sql administration?
thanks a bunch. I’m using Wp v 2.1.3
Sunday, 3. June 2007
@Andreas: Nur, wenn Du das in der Funktion writeReader entsprechend nach Deinen Wünschen anpasst.
@Rob: Maybe you haven’t the admin-level while activating. Please have a look in the function setupReader for getting the table creation script.
Sunday, 3. June 2007
Hallo Stefan,
danke für den Tipp; hätte ich auch selbst drauf kommen können
Ich habe dann allerdings in der hot_posts Funktion die SELECT Abfrage um folgendes hinter dem WHERE erweitert:
“.$wpdb->post_counter.”.post_id != 14 AND
“.$wpdb->post_counter.”.post_id != 13 AND
Dadurch habe ich Beitrag 14 und 13 ausgeblendet.
Klappt super.
CU Andreas.
Sunday, 3. June 2007
Thanks Andreas. I do have admin level priv and I did have a look at that function before I contacted you. What threw me off was the little piece before the table name CREATE TABLE `$wpdb->post_counter` (
`post_id` int(11) unsigned,
`post_count` int(11) unsigned NOT NULL,
`time` datetime NOT NULL default ‘0000-00-00 00:00:00′,
PRIMARY KEY (`post_id`)) TYPE=MyISAM;
the $wpdb-> threw me off. But, when I looked at the error that was coming up on the page, the “table does not exsist ….”, I saw that it was looking for wp_post_counter so I made the assumption that $wpdb-> is the table prefix. I added it manually to the script, ran it in my sql admin and voila, it worked.
I’m posting this here just in case anyone else has a similar problem
Sunday, 3. June 2007
For the record (for anyone else with this problem), it has to be done for the second table as well CREATE TABLE `wp_post_counter_time` (
`post_id` int(11) unsigned NOT NULL default ‘0′,
`time` datetime NOT NULL default ‘0000-00-00 00:00:00′
) TYPE=MyISAM;
you won’t see the resulting error unless you’re logged off as admin
Sunday, 3. June 2007
@Rob: Please have a look if your global variable $wpdb is set the correct way. Your way of changing the code is only correct for those who use “wp_” as the table prefix.
Friday, 8. June 2007
Interessantes Plugin und eigentlich gut dokumentiert. Allerdings finde ich nirgendwo den Hinweis, wie man beim Aufruf von “last_posts()” anstatt der Anzahl der Leser die letzte Zugriffszeit angezeigt bekommt.
Du führst es auf deiner Startseite so wunderbar vor. Wie sehen dafür die Parameter aus???
Danke für die Info.
Saturday, 9. June 2007
Hallo Marc,
die Anzeige auf der Startseite ist nicht ganz so gut dokumentiert
Grüße
Stefan
Sunday, 24. June 2007
Hallo,
folgende Frage. Habe das Plug in eingebaut und zwar zur Anzeige der zuletzt gelesenen als auch der meist gelesenen Beiträge. Funktioniert auch prima.
Ich möchte gerne, dass zwar die Beiträge angezeigt werden aber nicht die Anzahl der Leser. Ich bin allerdings eine absolute “Code” Niete. Wie deaktiviere ich die Anzeige der “Leseranzahl”?
Danke vorab!
Sunday, 24. June 2007
@werni
ich habe bei hot posts keine Anzeige der Anzahl der Leser. dazu habe ich in der readers_post.php am Ende der ‘function hot_posts’ etwa in Zeile 144 nach dem
echo $before (das schreibt was angezeigt wird) genau diesen Teil gelöscht:
(”.$hotposts.”x)
bei mir nur bei Einzelseitenansicht unter Hot..
Sunday, 24. June 2007
@Lonhjorn
danke für die schnelle Hilfe, das hat geklappt!
noch einen schönen sonntag!
Friday, 27. July 2007
Hi!
Ich habe das Plugin nach bestem Wissen und Gewissen hochgeladen, aktiviert und ins Template (WordPress Standard DE-Edition 1.6) eingebaut:
…
“>
…
(Anmerkung: ich möchte oben in jedem Post die Anzahl der Leser anzeigen lassen)
Ich bekomme aber immer folgenden Datenbankfehler:
WordPress Datenbank-Fehler: [Table 'db211489086.wp_post_counter' doesn't exist]
SELECT wp_post_counter.post_count AS anzahl FROM wp_post_counter WHERE wp_post_counter.post_id = 15 LIMIT 0,1
Muss man die Datenbank von Hand anlegen?
cartini
Friday, 27. July 2007
Mmmh, wollte eigentlich in meinem Post einen Codeschnipsel anführen, den PHP-Code hat er aber wohl irgendwie interpretiert. Naja, auf jeden Fall habe ich das readers() direkt nach dem “while (have_posts()) : the_post();” ins Template-Index-File geschrieben.
cartini
Friday, 27. July 2007
Moin Cartini,
ich vermute mal, dass Du die Aktivierung entweder nicht oder nicht mit einem Admin-User durchgeführt hast. Du kannst das aber natürlich auch per Hand machen. Das SQL-Statement findest Du in der function setupReader().
Grüße
Stefan
Friday, 27. July 2007
Hey Stefan, danke für die schnelle Antwort.
Doch, habe ich eigentlich schon, sowohl admin gewesen als auch aktiviert. Habe mal in meine Datenbank geschaut, aber da ist tatsächlich kein Table angelegt worden. Bin ein php-Noob, daher meine Frage: interpretiere ich die function setupReader() richtig, daß die zwei Tables anlegt, einmal namens post_counter und einmal namens post_counter_time? Und um das von Hand zu machen muß ich einfach nur das Statement rauskopieren, das ‘$wpdb->post_counter’ durch post_counter ersetzen und es meinem phpMyadmin zum Fraß vorwerfen?
cartini
Friday, 27. July 2007
Fast richtig: ‘$wpdb->post_counter’ muss ersetzt werden durch Deinen Wordpress-Table-Vorsatz (Standard ist “wp_”) und dann post_counter (also im Standard “wp_post_counter”).
Hope it helps!
Friday, 27. July 2007
Alright, die Tabellen habe ich jetzt angelegt bekommen. Es wird auch kein Error mehr gemeldet … allerdings wird auch nicht hochgezählt, wenn man den Artikel liest. Tut mir leid dir hier so auf den Keks zu gehen.
Ich benutze Wordpress 2.2.1 DE-Edition.
Solltest du selber mal einen Blick drauf werfen wollen kontaktiere mich doch per eMail, da ich mein Blog erstmal so privat wie möglich halten möchte.
cartini
Sunday, 23. September 2007
Mist, warum geht denn der Downloadlink nicht??
Sunday, 23. September 2007
Weil ich nicht damit gerechnet habe, dass ein Update auf 2.2.3 den Link kaputt macht
Jetzt funzt er wieder. Danke für den Hinweis!
Thursday, 27. September 2007
the file seems to be missing, clicking on the link brings me to your homepage, which probably means that you have no 404 page set in your theme (so it forwards to the homepage.
Thursday, 27. September 2007
Thanks for your comment, jeremy. I corrected the download link and it’ll work now!
Wednesday, 7. November 2007
Hallo,
erstmal vielen Dank für das Plugin, hätte aber ncoh eine kleine Nachfrage:
wie kann ich statische SEiten aus der Auflistung (”Top 10″) heraus nehmen?
Beste Grüße
Alexander
Wednesday, 7. November 2007
Moin Alexander,
schau mal in den Code: die Variable $postID_type definiert, ob es eine statische Seite ist oder nicht. Somit sollte es einfach sein, die gewünschten Seiten rauszunehmen.
Grüße
Stefan
Thursday, 8. November 2007
Hallo Stefan,
vielen Dank für die schnelle Antwort. Leider habe ich keine Ahnung, was ich da machen muss… Ich hab’s nicht so mit codes (um es mal vorsichtig auszudrücken)… Wenn ich z.B. nicht will, dass statische Seiten, wie z.B. das Impressum, in die Auflistung mit rein kommen, muss ich indeinem plugin irgendswas machen, wo postID vorkommt. Das habe ich jetzt verstanden… nur leider habe ich echt keine Ahnung, wie ich das machen soll. Wäre super, wenn du mir da helfen könntest.
Beste Grüße
Alexander
Saturday, 22. December 2007
Hallo Stefan,
mal ‘ne ganz blöde Frage eines PHP-Blödis, wie muss denn PHP-Aufruf der Funktion aussehen?
Ist das korrekt?
Monday, 24. December 2007
Für Andreas: Eckige Klammer auf, Fragezeichen, gefolgt vom Text php, Leerzeichen – dann den entsprechenden oben angegebenen Code – dann Leerzeichen, Fragezeichen und eckige Klammer zu
Tuesday, 25. December 2007
Hallo,
weiß jemand, wieso keine Hits gezählt werden, wenn ich den Firefox 2 benutze?
Im IE 7 funktioniert alles ohne Probleme.
Gruß
Tuesday, 25. December 2007
Moin,
dass die Funktion browserabhängig ist wäre mir neu.
Ich vermute mal, dass Du in FF2 als Admin angemeldet bist, denn dann zählt das Plugin dich nicht.
Grüße
Stefan
Tuesday, 25. December 2007
Ohh man, tatsächlich.
Naja bin am neu designen und da spielt man im eingeloggten Zustand viel herum, um Design, Funktionen usw. auszutesten.
Vielen Dank.
Ihnen noch schöne Restfeiertage.
Thursday, 27. December 2007
Florian hat schon einmal meine aktuelle Frage gestellt (12. März 2007 um 16:20Uhr), jedoch wurde diese in keinem Kommentar beantwortet.
Kann man irgendwie Artikel einer bestimmten Kategorie in den last_posts() entfernen? Ich dachte mir, man könne die $sql Abfrage einfach erweitern, in dem man vorher die Kategorie, aus der der Artikel stammt, kontrolliert, aber ich sehe in der Datenbank nirgends einen Hinweis, aus welcher Kategorie der Beitrag stammt.
Würde mich über einen Tipp bzw. Lösung sehr freuen.
Gruß
Thursday, 27. December 2007
Moin Damian,
die Kategorien zum jeweiligen Artikel steht in der Tabelle post2cat. Um diese Information in das SQL mit einzubinden ist also noch ein join mehr notwendig. Die post_id in post2cat entspricht der ID in posts bzw. der post_id in post_counter. Alles klar?
Grüße
Stefan
Thursday, 27. December 2007
danke für die antwort,
aber seit WP 2.3 gibt es eine andere DB Struktur.
U.a. gibt es auch kein post2cat mehr. Naja ich versuche morgen noch einmal herauszufinden, wo man sehen kann, welcher Artikel zu welcher Kategorie gehört.
Gruß
Friday, 28. December 2007
Danke für den Tipp.
Ab WP 2.3, wenn nicht früher, ist es in der Tabelle “wp_term_relationships” gespeichert.
Ich habe es heute versucht, selber zu programmieren, kriege aber jedesmal einen Fehler. Ich habe mich auf mehrere Seiten informiert, aber es will nicht funktionieren. Ich will doch nur, dass Artikel einer bestimmten Kategorie nicht mit in die Ausgabe aufgenommen werden.
Naja, dann muss ich darauf eben verzichten und es evtl. so benutzen.
Ihnen einen guten Rutsch ins neue Jahr
Tuesday, 8. January 2008
Hallo Stefan!
Erst einmal Danke für dieses Plugin.
Eine Frage: Ich nutze ein Plugin, welches private Beiträge nur für registrierte Benutzer zugänglich macht. Deshalb würde ich gerne auch die Zugriffe auf die privaten Beiträge berücksichtigen in hot_posts, last_posts und readers. Ist das möglich und wenn ja wie?
Tuesday, 8. January 2008
Hallo Jessica,
das ist sicherlich möglich, aber ich weiß nicht, wo Dein Plugin die Information reinschreibt, dass ein Beitrag registrierungsflichtig ist. Über ein entsprechendes JOIN kann man das aber in meine Abfrage verknüpfen.
Außerdem musst Du meine Abfrage erweitern, weil dort nur auf veröffentlichte Beiträge eingegangen wird.
Grüße
Stefan
Tuesday, 8. January 2008
Hallo Stefan!
Danke für die schnelle Antwort.
Das Plugin (Disclose Secrets) ist ziemlich komplex, da müsste ich selbst erst einmal nachforschen…
Aber ich glaube, darauf muss man gar nicht eingehen: Es reicht mir vorerst schon, wenn die privaten Beiträge von Deinem Plugin berücksichtigt und angezeigt werden für jedermann.
Anklicken und lesen kann man sie dann nur, wenn man registriert ist, die anderen bekommen halt eine Fehlermeldung. – Ist vielleicht nicht so schön, aber zumindest konsequent, denn beim Plugin Get Recent Comments habe ich es genauso gemacht.
Ich habe mir Deinen Code angeschaut, werde aber leider nicht schlau daraus, wo ich was ändern muss, damit die privaten Beiträge auch berücksichtigt werden. Für Hilfe wäre ich sehr dankbar.
(Sorry, ich habe zwar sowohl PHP als auch SQL mal gelernt, aber nie wirklich benutzt und das Meiste wieder vergessen.)
Tuesday, 8. January 2008
Ach, so – dann wird’s einfach. Schau dir mal meine SQL-Statements an. Da wird in den WHERE Bestimmungen der post_status auf static oder publish abgefragt. Da musst Du nur auf gleiche Weise nach private fragen.
Tuesday, 8. January 2008
Hallo Stefan!
Ich habe in Zeile 103, 126 und 156 den Wert von post_status von ’static’ auf ‘private’ gesetzt, aber die privaten Beiträge tauchen weder in der Liste hot_posts noch in last_posts auf, und der Wert von readers ist bei ihnen immer 0. (Ich habe natürlich zuvor einige private Beiträge aufgerufen.) Ich habe daher in der Datenbank nachgesehen, in der Tabelle post_counter tauchen auch keine post_id von privaten Beiträgen vor.
Und die statischen Seiten verschwanden auch erst aus der Liste last_posts, nachdem ich in Zeile 54 das is_page aus der if-Abfrage entfernt habe.
Ich bin etwas ratlos… :-/
Tuesday, 8. January 2008
Also du solltest das SQL erweitern, sonst werden dir keine statischen Seiten mehr angezeigt.
Wenn du im angemeldeten Zustand Berichte aufrufst, werden die nicht mitgezählt.
Dein Hinweis, dass die statischen Beiträge nicht verschwunden sind, lassen mich zu dem Schluss kommen, dass Dein SQL wohl nicht so ganz richtig ist. Deswegen – und zu Sicherheit – hier das Statement für last_posts:
SELECT “.$wpdb->posts.”.ID AS ID,”.$wpdb->posts.”.post_title AS TITLE ,”.$wpdb->post_counter.”.post_count AS ZAEHLER FROM “.$wpdb->posts.”,”.$wpdb->post_counter.” where “.$wpdb->post_counter.”.post_id = “.$wpdb->posts.”.ID AND (”.$wpdb->posts.”.post_status = ’static’ OR “.$wpdb->posts.”.post_status = ‘publish’ OR “.$wpdb->posts.”.post_status = ‘private’) order by “.$wpdb->post_counter.”.time DESC limit 0,”.$limit
Für die anderen Funktionen muss nur die order-Anweisung angepasst werden.
Wednesday, 13. February 2008
Gibt es eine Möglichkeit, nach dem jeweiligen Post-Titel einen kurzen Auszug davon mit selbst festgelegter Zeichenanzahl anzuzeigen?
Danke für die Hilfe!
Thursday, 14. February 2008
Ja, gibt es. Im Prinzip funktioniert es genauso, wie ich es mit dem Titel gemacht habe. Schau einfach mal in den Code.
Friday, 7. March 2008
Hi,
schönes Plugin, aber wie kann ich komplett die Seiten ausschließen, so dass Sie nicht gezählt werden?=
Ich hab kA von PHP…bin bissl überfordert!
gruß
Tuesday, 1. April 2008
Für alle Interessenten an diesem Plugin. Bei mir funktioniert das Plugin auch mit dem neuen WordPress 2.5 !
Thursday, 3. April 2008
Das Plugin ist nun einige Tage aktiv, aber entweder verstehe ich die Funktion “last_posts(10);” nicht oder da läuft was falsch.
Folgende, sehr verwirrende Sortierung war jetzt schon des öfteren zu sehen.
1. xyz (33 Leser)
2. abc (5 Leser)
3. lrm (34 Leser)
(Demo unten Link auf: http://blogger.hvbx.de)
Wo nach erfolgt die Sortierung? Und kann man das irgendwie eindeutiger für den Besucher machen?
Thursday, 3. April 2008
Hallo Heiko,
der Titel von last_posts hält, was er verspricht und zeigt die zuletzt gelesenen Blogeinträge an.
Eine ajax-version der Funktion findest Du in meiner Sidebar.
Grüße
Stefan
Thursday, 3. April 2008
Hi Stefan,
dann solltest du aber dringend den Beitrag bearbeiten.
Zitat:
“last_posts(10); => Zeigt eine Liste mit 10 Titel der am häfigsten gelesenen Posts an.”
Klang für mich eher nach den Top10 Posts, und das war auch das was ich eigentlich gesucht habe. Schade.
Friday, 4. April 2008
Mensch Heiko, danke!
Der Text war zwar richtig, aber der Beispielcode falsch. Unter Möglichkeit 3 ist alles beschrieben, was Du möchtest.
Saturday, 5. April 2008
Freut mich das ich helfen konnte und vor allem nun doch weiteres Plugin suchen muss.
Mit “hot_posts(10);” funktioniert es nun so wie ich es mir gewünscht hatte.
DANKE!
Wednesday, 14. May 2008
Hallo,
ich nutze dieses Plugin schon seit einiger Zeit. Ich hatte immer den Eindruck, dass die angezeigten Leserzahlen relativ hoch waren (verglichen mit Google Analytics Daten) – das war jedoch ok für mich. Seit dem Update auf WordPress 2.5.1 kommen sie mir nun aber ungewöhnlich niedrig vor. Lässt sich das irgendwie überprüfen? Fände es schade, auf das Plugin verzichten zu müssen.
Viele Grüße
skankster
Sunday, 8. June 2008
Ich nutze ebenfalls das Plugin auf meiner Seite. Nachdem ich heute die WP Version 2.5.1 installiert habe, bleibt der Zähler bei 0 stehen. Hast Du eine Idee, woran das liegen könnte?
Saturday, 14. June 2008
Danke für das Plugin. Habe die Leserzahlen einfach aus dem Code genommen, da ich nur die gelesenen Artikel ohne weitere Details anzeigen lassen möchte.
Thursday, 10. July 2008
Hallo,
ich habe dein Addon Readers-Post.Ich würde aber gerne aus der Top 5 eine Top 30 machen.Also es sollen nicht die 5 meisten aufgeruften Artikel angezeigt werden sondern die 30 meist aufgeruften.Zudem würde ich es gerne einstellen, dass nur Artikel in der Top5/30 sind.Weil aktuell sind da auch Seiten und das will ich nicht.
Wäre sehr nett, wenn du mir erklären könntest was ich machen muss.
PS: ich bin Anfänger!
Thursday, 10. July 2008
Moin David,
aus den Top5 eine Top30 zu machen ist einfach und in der Anleitung unter Möglichkeit 3 aufgeführt.
Die Anzeige ausschließlich von Artikel ist einfach, wenn Du etwas Ahnung von SQL hast
Grüße
Stefan
Thursday, 10. July 2008
Hallo,
da ich kein SQL habe müsste es mir bitte jemand erklären?
Thursday, 10. July 2008
Ich meinte nicht habe sondern kann xD
Friday, 29. August 2008
Hej!
Ich richte mir gerade einen Blog ein und wollte Dein Plugin verwenden. Ich habe die Readers_Post.php in den Pluginordner geladen und das Plugin im Adminpanel aktiviert. Leider kann ich es dennoch nicht verwenden. Wenn ich die Funktionen aufrufe endet das ganze in einem Fatal error: Call to undefined function… Woran kann das liegen? Ich habe WP 2.6.1 installiert.
Gruß,
Timo
Sunday, 2. November 2008
Hallo!
Habe das Plugin installiert aber weiss einfach nicht, was ich genau in die index.php und page.php eintragen soll, damit die Anzahl der Leser angezeigt wird. Bin leider totaler php-Laie
Thursday, 22. January 2009
Hallo Stefan,
ich würde gerne dein tolles Plugin dafür nutzen die am meisten gelesenen Blog-Beiträge aufzulisten. Welchen Code muss ich dafür in mein Theme einfügen? Wäre dir für einen genauen Code zum einfügen sehr dankbar.
Gerne auch per Mail.
Danke,
Viele Grüße,
Florian
Saturday, 21. February 2009
Hallo!
Ich hätte gerne wie Hoffie einen kurzen Anriss des Artikels mit in der Sidebar bei “last_posts” und “hot_posts”. habe im Code rumprobiert komme aber nicht zurecht. Könntest du bitte den erforderlichen Code mal posten damit es klappt.
Danke im Voraus
Wednesday, 16. June 2010
zeile 63: if (!get_role(’administrator’)){
funktioniert bei mir so nicht
so: if (!current_user_can(’install_themes’)){
geht es aber Problemlos http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table