Beliebteste Beiträge unter WordPress anzeigen
Stefan Groenvelds Plugin Readers_Post anpassen
Um die beliebtesten Beiträge auf Klimperlude.de anzuzeigen, benutze ich Stefan Groenvelds Plugin Readers_Post. Das Problem dabei ist leider, dass alle Seiten mitgezählt werden, auch insbesondere die statischen “Pages” wie Impressum. In der Regel möchte man aber nur beliebteste Artikel darstellen. In den Kommentaren zu dem Plugin fragen nicht wenige wie man Seiten nun ausschließen kann.
Kann man die Funktion überreden, bestimmte Beiträge (z.B. Startseite und Impressum) zu ignorieren ?
Stefan antwortet darauf leider nur allgemein, dass man die Funktionen anpassen müsse. Ich will Euch hier konkret zeigen wie Ihr die Funktionen abändern könnt.
Pages komplett ausklammern
Es gibt grundsätzlich mehrere Möglichkeiten. Man kann an dem Punkt ansetzen, an dem die Daten in die Datenbank geschrieben werden. Das macht Sinn, wenn Ihr die Aufrufe der statischen Seiten grundsätzlich nicht braucht. Dazu schauen wir uns den Anfang der Funktion writeReader() näher an:
1 2 3 4 5 6 7 8 | function writeReader() { global $wpdb, $wp_query; if (is_single || is_page()){ $postID = $wp_query->post->ID; } if (is_home() || is_archive()){ $postID = 0; } |
Hier kann man die Abfrage nach is_page() aus Zeile 4 einfach nach unten in die Zeile 7 verlagern. Fortan werden Pages nicht mehr mit einbezogen. Zeile 7 sieht dann wie folgt aus:
1 | if (is_home() || is_archive() || is_page()){ |
Alles mitzählen, nur die Ausgabe ändern
Ich selbst wollte jedoch wissen, wie oft die statischen Seiten aufgerufen werden, da ich dies auch im mittleren Bereich für Pages anzeigen lasse. Unter den “beliebtesten Beiträgen” sollten aber nur die Artikel erscheinen. Deswegen lasse ich alle Daten erstmal in die Datenbank eintragen, und modifiziere dann je nach Funktion nur noch die Ausgabe. Das ganze lässt sich sicherlich schöner handhaben, da ich aber nur wenige statische Seiten benutze, habe ich diese einfach konkret abgefragt und ausgeschlossen. Für die Ausgabe in meiner Sidebar benutze ich die Funktion hot_posts:
1 2 3 4 | $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 (".$wpdb->posts.".post_title != 'Impressum' AND ".$wpdb->posts.".post_title != 'Login' AND ".$wpdb->posts.".post_title != 'Spielehistorie' AND ".$wpdb->posts.".post_title != 'Der Klimperlude') AND (".$wpdb->posts.".post_status = 'static' OR ".$wpdb->posts.".post_status = 'publish') order by ".$wpdb->post_counter.".post_count DESC limit 0,".$limit); |
Der wichtige Teil ist hier die Abfrage nach dem post_title (z.B. post_title != ‘Impressum’). Es werden nur Daten aufgenommen solange der Titel der Seite nicht Impressum, “Spielehistorie” oder “Der Klimperlude” (mein “about me”) lautet. An der entsprechenden Stelle einfach
1 | AND ".$wpdb->posts.".post_title != 'Der Klimperlude' |
hinzufügen/ersetzen und statt Der Klimperlude den Titel der Page einsetzen.
Ich hoffe das hilft weiter, für Fragen bin ich natürlich immer zu haben :)
8 Kommentare zum Beitrag "Beliebteste Beiträge unter WordPress anzeigen"
Author | Klimperlude |
Datum | 11. September 2009 |
Kategorie | |
Wörter | 392 |
Tags | beliebteste Beiträge Plugin Readers_Post Top 5 Tutorial Wordpress |
Gelesen: | 24085 mal |
Klimperlude intern
Kategorien
- 3D (1)
- Angespielt (1)
- Diskussion (3)
- Fundstücke (4)
- MMOG (6)
- Mods & Plugins (6)
- Neuigkeiten (2)
- Privates (1)
- Technik (4)
- Tipps & Tricks (3)
- Vollversionen (3)
- Wordpress (1)
- Aion-Anfänger-Guide
(191492 Leser) - Die besten Fallout 3 Mods
(120802 Leser) - Widescreen-Patch für Kotor 1 und 2
(67101 Leser) - “Konfigurieren DNSe, um die Musik zu machen, die Ihr eigenes Gefühl enthält”
(59412 Leser) - Unitymedia kündigen – gar nicht so einfach
(31946 Leser)
Beliebteste Beiträge
- Sirlin.net
Klimperlude liest
- Metazolid: Ich danke dir ^^
- Klimperlude: Und um mir selbst zu antworten: die Anleitung dort ist von 2012 und sicher nicht mehr auf der Höhe der...
- Klimperlude: Nein, kein Screenshot wurde nachbearbeitet. Die Unschärfe ist ein Depth of Field-Effekt (Dof) der...
- Metazolid: Hat mir echt geholfen, auch mit der Konsole klarzukommen ^^ Mich interessiert es wirklich, wie du diese...
- Klimperlude: Dir auch liebe Grüße nach Rostock :) Hast Du sonst noch Hobbies außer Loblieder auf 4 Jahre alte...
Letzte Kommentare
Stichwörter
- 2D
Adventure
Aion
Aliens
Atari
beliebteste Beiträge
Charakter-Erstellung
Charaktere
Code-Abfrage
Daedalic
DOF
ENB
free
Game Design
Gelsenkirchen
gezeichnet
Hero Quest
hybrid
Item Remodeling
kostenlos
MMOG
MMORPG
page tearing
Plugin
point & click
Qfg
qfg 1 char
quest for glory 1 savegame
Readers_Post
Remake
rpg
Rätsel
Shader
Sierra
Skyrim
Star Control II
Top 5
Tutorial
TWW
Urquan
VGA
vsync
Wolverine
Wordpress
X-Men Origins
Moin, moin,
schöne Erweiterung und Erklärung!
Der Grund für meine nur allgemeine Beantwortung der Fragen ist, dass sich das Plugin eigentlich an Anwender wendet, die wenigstens halbwegs wissen was WordPress macht und wie es funktioniert. Für die sind die obigen Anpassungen dann kein Problem, wie man ja an Dir sieht :)
Viele Grüße
Stefan
Moin und danke :)
Richtet sich definitiv an Anfänger, dachte da besteht noch Bedarf.
Möchte mich hiermit auf jeden Fall für das coole Plugin bedanken!
Hey very nice blog!!….I’m an instant fan, I have bookmarked you and I’ll be checking back on a regular….See ya
Hey, great blog…but I don’t understand how to add your site in my rss reader. Can you Help me, please :)
Please refrain from advertising your link using different names. If you’re really interested in the rss feed, use the link above the comments or http://feeds.feedburner.com/klimperlude ;)
Hey hey….das erste Spiel, an dessen Namen Du Dich net mehr erinnern kannst, waren das vielleicht die “Giana Sisters”??? Kann mich noch gut daran erinnern ;)
Sehr gelungene Seite, weiter so!!!
* Der Samson*
Huhu :)
Nein, the great giana sisters ist es leider nicht, das habe ich noch in bester Erinnerung :) Das Spiel hatte auch kaum Grafik, mehr als Striche waren das nicht… muss noch um einiges älter sein.
Danke hat bei mir jetzt super geklappt. Jetzt muss ich nurnoch irgendwie die Artikelbilder einfügen und dann ist es perfekt :)