The Flattr Widget ScreenshotWordPress bietet eine vorbildliche Plugin-Struktur. Wenn PHP kein Fremdwort ist, dann kann man sich sehr schnell darin einarbeiten und eigene Plugins auf die Beine stellen. Weil ich das Projekt Flattr unterstütze und mir wünsche, dass es richtig durchstartet, habe ich Plugins für WordPress geschrieben, die Flattr in unterschiedliche Teile des WordPress Blogs einbinden.

Das offizielle Flattr Plugin bietet die Möglichkeit, dass am Ende jeden Artikels ein Button eingefügt wird, der sich auf diesen Artikel bezieht. Darauf aufbauend habe ich weitere Plugins entwickelt.

FlattrWidget

Dieses Plugin erstellt ein Standard-Wordpress Widget, dass in jedes Theme integriert werden kann, welches Widegt-fähig ist. Der erzeugte Button bezieht sich auf den Blog im gesamten. Er bietet die Möglichkeit, für Flattr User den Blog als Gesamtwerk zu “bewerten”, zusätzlich zu den einzelnen Artikel.

FlattrComments

Kommentare sind ein wichtiger Feedback-Kanal für Blogs. Jeder Kommentierende hat jetzt die Möglichkeit, seine Flattr-ID zusätzlich bei einem Kommentar anzugeben. In diesem Fall wird ein Button für den Kommentar erzeugt, der mit dem Account des Kommentators verknüpft ist.

FlattRSS

Damit ist es möglich, dass man direkt aus dem RSS-Reader Beiträge “Flattrn” kann, ohne dabei die Seite des Autors besuchen zu müssen. Das soll es noch leichter machen. Feed-Reader müssen dabei JavaScript innerhalb des Feeds unterstützen, dass können leider bisher die wenigsten. Optional können nicht-dynamische Buttons eingefügt werden, die darauf hinweisen, dass der Beitrag bei Flattr wiederzufinden ist.

Die Plugins sind alle mit dem offiziellen Plugin verknüpft und bedienen sich dessen Funktionen und Einstellungen. Dadurch müssen Daten nicht Redundant eingegeben werden.

Die Resonanz aus dem Flattr Team zum Beispiel von Linus, Peter ist super und auf der Integration-Seite sind die Plugins auch verlinkt worden.

Allesblog#flattr#plugin#plugins#wordpress
    • tanalahy
    • Bei mir kollidiert das FlattrWidget mit dem WordPress Flattr Plugin (Version 0.7)

      Warning: Missing argument 7 for flattr_permalink(), called in /www/htdocs/myaccount/weblog/wp-content/plugins/flattrwidget/flattrwidget.php on line 78 and defined in /www/htdocs/myaccount/weblog/wp-content/plugins/flattr/flattr.php on line 129

    • micha
    • Du kannst an der Plugin-Version erkennen, gegen welches Flattr-Plugin die Plugins getestet wurden. Alle 0.6 Versionen laufen auch mit dem 0.6er Plugin. An 0.7 arbeite ich bereits. Da ich aber auch noch eine reguläre Arbeit habe, der ich nachgehe, wird diese Version erst heute Nachmittag zur Verfügung stehen.

    • tanalahy
    • Danke @micha – Die Kollision hatte ich leider schon mit Version 0.6 – dachte ich löse das Problem mit einem Update aufVersion 0.7. Aber Pustekuchen! Habe keine Eile, da ich schon einen manuell eingepflegten Button platziert habe. Mir ist aufgefallen, dass die Flattr-Plugins recht stark in die WordPress Umgebung eingreifen (z.B. das Umbiegen der Funktion extract über Filter und die Smart Youtube Problematik (httvh://…). Bei so einer tollen Plattform bin ich als Beta-Tester natürlich gerne mit auf der Suche nach irgendwelchen Bugs, und sei auch in meinem Template.

    • tanalahy
    • Übrigens @micha – das Absenden eines Kommentars auf DEINEM Blog produziert folgende Fehlermeldung:

      Warning: Cannot modify header information – headers already sent by (output started at /var/www/allesblog/htdocs/wp-content/plugins/flattrcomments/flattrcomments.php:182) in /var/www/allesblog/htdocs/wp-comments-post.php on line 88

      Warning: Cannot modify header information – headers already sent by (output started at /var/www/allesblog/htdocs/wp-content/plugins/flattrcomments/flattrcomments.php:182) in /var/www/allesblog/htdocs/wp-comments-post.php on line 89

      Warning: Cannot modify header information – headers already sent by (output started at /var/www/allesblog/htdocs/wp-content/plugins/flattrcomments/flattrcomments.php:182) in /var/www/allesblog/htdocs/wp-comments-post.php on line 90

      Warning: Cannot modify header information – headers already sent by (output started at /var/www/allesblog/htdocs/wp-content/plugins/flattrcomments/flattrcomments.php:182) in /var/www/allesblog/htdocs/wp-includes/pluggable.php on line 868

    • micha
    • Update ist in Arbeit. 0.7.1 wird einen großen Denkfehler meinerseits beheben, der das Problem behebt.

    • tanalahy
    • @micha Meine Kollision ist mit Version 0.7 versus 0.7 behoben.Danke!

    • micha
    • Es gibt noch einen Bug beim automatischen Ausfüllen des des Flattr ID Feldes. Statt der passenden ID wird immer die zuletzt eingegebene ausgespuckt. Sowas fällt leider erst bei Tests in der freien Wildbahn auf…

    • Boris
    • Hey, das ist echt klasse gemacht! Noch schöner wäre es natürlich, wenn das Eingabefeld für die Flattr-ID denselben Stil hätte wie die restlichen Felder und wenn es von der Reihenfolge vor dem Kommentar-Feld käme, aber ich wüsste jetzt aus dem Stehgreif auch nicht wie das umzusetzen wäre.

      Viel wichtiger: Es geht! Und schließlich ist das ja auch einer der tollen Funktionen von Flattr, nämlich dass man auch Kommentare “flattrn” kann. Flattr selbst bietet diese Funktion nicht mit dem eigenen Plugin. Zum Glück gibt es Leute wie Dich, mit Ideen und Know How 🙂

      Ich habe es jedenfalls gleich auf meinem Blog mit eingebaut. Ich hoffe, dass Flattr noch viel mehr Freunde finden wird und dass diese bald schneller an Einladungen heran kommen.
      Vielen Dank für diese Arbeit!

    • micha
    • Warte bitte auf das nächste Update. Dann kann man das Feld auf 2 unterschiedliche Arten ins Theme integrieren.

    • Boris
    • Ah, schau mal an der Stelle, an der Du das neue Formularfeld erzeugst. Gibt dem Input-Feld noch mit: class=”formfield”
      Dann müsste es aussehen wie die anderen Felder (durch das CSS des Templates gesteuert)

      Noch eine Frage aus Neugier: Warum hast Du das neue Feld noch zusätzlich in einen eigenen DIV-Block gepackt?

      Vielleicht gibt es auch noch einen Weg, das Feld vor das Memo-Feld zu bekommen oder wenigstens vor den Submit-Button… wenn ich etwas finde melde ich mich.

    • Boris
    • Oops – Da war ich zu langsam 🙂 Ich bin mal gespannt auf das Update.

    • micha
    • Das Update habe ich soeben hochgeladen. Sollte also demnächst zum Upgrade zur Verfügung stehen. Wie es genau funktioniert wird auf der Konfigurations-Seite (zu?) kurz erklärt.

      Als nächstes werden dann die Benutzernamen verschlüsselt in der Datenbank abgelegt. Damit ist nicht mehr in Klartext ersichtlich, welcher Kommentator welche Flattr-ID hat.

    • Boris
    • Sehr cool! Update lief problemlos, Anpassung der comments.php war einfach. Vielen Dank 🙂

    • Boris
    • Hier ein Tipp für alle, die das Feld über dem Edit-Feld in das comments.php einbauen möchten aber nicht so viel mit PHP zu tun haben:

      1.) In Eurer WordPress-Installation gibt es das Verzeichnis: wp-content/themes/(Name-Deines-Themes)
      In diesem Verzeichnis liegt eine comments.php die man in einem Texteditor öffnen kann. Vorsicht! Nicht Word oder ähnliches dafür nehmen!!! Es sollte ein “simpler” Texteditor sein, der die Formatierungen des Textes NICHT ändert beim speichern. Unter Windows tut es der editor.exe. Am Mac sollte es mit Texteditor funktionieren, ich habe am Mac dafür z.B. TextMate.

      2.) In dieser Datei guckt Ihr etwas weiter unten. Da kommt ein Block mit den ganzen Eingabefeldern. Die fangen alle mit “< input = "text" …" (ohne Leerzeichen) an. Einmal mit Namen "author" (Name), "email" und "url" (Webseite).
      Nun könntet Ihr direkt hinter den letzten Eintrag den html-Block aus der flattr-comment-Info-Seite (Siehe Einstellungen zu flattr-comments in WordPress) reinkopieren (achtet darauf, dass Ihr es hinter das abschließende "” des Textelementes packt.

      Wenn Ihr es VOR das nachfolgende “” packt, dann ist das flattr-ID-Feld nur sichtbar, wenn Ihr NICHT eingeloggt seit auf der Seite.
      Ich weiß im Augenblick nicht, ob das wirklich funktioniert – Hier kann micha sicher weiterhelfen – weil ich nicht weiß, ob die flattr-ID gespeichert wird. Nach dem Kommentar oben zu urteilen wird aber gespeichert und es sollte die eleganteste Lösung sein.

      Wenn Ihr das flattr-ID-Feld immer sehen möchtet, auch wenn Ihr eingeloggt seit, dann müsst Ihr den html-code HINTER dieses “” packen – also unmittelbar vor das lange Kommentarfeld (“< textarea name = "comment" …")

      Ich hoffe, das war einigermaßen verständlich?! 🙂

    • Boris
    • @micha: hm – bei meinen Kommentaren hier erscheint der flattr-button nicht. Vielleicht noch ein kleiner Bug? Oder liegt das hier an meiner Seite?

    • Boris
    • ah – sorry wenn ich hier die Kommentare flute – habe jetzt gesehen woran es liegt (muss man halt erst abschicken um es zu bemerken und Kommentare in WordPress kann man als temp.-User leider nicht ändern):

      – Das Formular belegt mir Name, Mail, Webseite mit meinen letzten Werten vor
      – Das Flattr-ID Feld ist allerdings immer wieder leer
      – schickt man jetzt das formular mit der leeren ID ab, dann verschwindet der flattr-button aus jedem meiner Kommentare (weil es ja zum User gespeichert wird)
      – schreibt man einen neuen Kommentar und gibt seine flattr-ID diesmal wieder mit an, erscheint der Button auch wieder bei allen Kommentaren.

      Ist also nur die Frage, warum das flattr-ID-Feld nicht vorbelegt ist? Absicht?

    • micha
    • Ich muss erst noch feststellen, wie ich vom Cookie die Informationen schreiben und wieder lesen kann. So lange wird dieser “Bug” im System bleiben. Aber du hast recht, ich kann zumindest verhindern, dass ein leerer Eintrag einen bereits vorhandenen überschreibt…

    • Boris
    • Hm. Das mit dem Cookie ist eine gute Frage.
      Der Cookie für die Kommentar-Felder wird in /wp-comments.php erzeugt.
      Nun könnte man das sicher leicht patchen um die flattr-id mitzunehmen, aber das ist natürlich nicht sinnvoll weil es beim nächsten WordPress-Update wieder weg wäre. Ob es einen Hook dafür gibt weiß ich nicht genau.

      Du könntest allerdings ein eigenes Cookie erzeugen. Dazu könntest Du Dich in das ‘init’ einhaken über “add_action( ‘init’, ‘my_set_cookie’ );” Da habe ich hier etwas gefunden: http://www.naden.de/blog/cookies-in-wordpress-setzen

      Cookie auslesen dürfte analog funktionieren. Dann könnte man den Value für das Feld direkt vorbelegen.

    • Boris
    • …Cookie wieder auslesen geht über “echo $_COOKIE[‘name-des-cookie’]”
      Den Namen hast Du ja beim setcookie(name, value, zeit) vergeben 🙂

      Hilft das weiter?

    • micha
    • Danke für die Hinweise. Hab alles in 0.7.3 eingebaut 🙂

    • micha
    • Mit Version 0.7.3 gibt es ein Datenbank-Upgrade! Alle bis dahin gespeicherten Daten gehen verloren.

    • Boris
    • Mir ist gerade noch ein Haken aufgefallen:
      – Wenn man aus dem WordPress Admin-Bereich auf einen Kommentar antwortet, dann gibt es dort natürlich keine flattr-ID (und mit der 0.7.2 bedeutet das, dass der Button von allen eigenen Kommentaren verschwindet – das sollte mit 0.7.3 ja behoben sein)

      Aber wird 0.7.3 dann bei so einer Antwort die eigene ID kennen und eintragen?
      Falls nicht, hast Du evtl. die Möglichkeit auf die hinterlegte ID vom flattr-Plugin zuzugreifen um diese zu verwenden?

    • Walter
    • Nicht schlecht, Jungs!
      Ich habe es bei mir mal über das Widget und das Plugin eingebaut. Ich wünschte ich könnte im Widget neben dem Flattr-Icon Text editieren, um den Leuten zu erklären, was Flattr überhaupt ist. Das Icon werden ja erst die wenigsten kennen…

    • drikkes
    • Nachdem ich das Plug-in installiert hatte, bekam ich beim Versuch, es zu aktivieren folgende Fehlermeldung:
      “Das Plugin kann nicht aktiviert werden, da es einen fatalen Fehler erzeugt.”
      Ich habe vom Coden echt wenig Ahnung, aber ich schätze, es liegt an dem von mir verwendeten Theme?

    • micha
    • Von welchem Plugin sprichst du genau?

      Die Flattr-Plugins können zum Teil nur dann aktiviert werden, wenn das offizielle Flattr-Plugin bereits erfolgreich aktiviert wurde.

    • drikkes
    • Sorry, ich meine FlattrComments. Ich finde die Idee nämlich klasse.

    • drikkes
    • Und wie Du an meinem Blog siehst, habe ich das offizielle Plug-in bereits im Einsatz. Falls es einen Weg für mich gibt, Deine Mühen (Respekt dafür!) auch in meinen Kommentaren sichtbar zu machen: Das läßt sich dann sicher auch auf die schmale Buttonversion umbauen, oder?

    • Lioman
    • Bei mir erzeugen die Plugins FlattrRss und FlattrWidget Fehler.
      z.T kann man die Buttons gar nicht klicken und es stehen immer drüber Dinge wie var tag usw. irgendwas. Widget zerschießt die ganze Seite mit : Fatal error: Class ‘Flattr’ not found in /www/htdocs/familiwr/blog/wp-content/plugins/flattrwidget/flattrwidget.php on line 107
      liegt es an meiner Installation oder gibt es bei anderen auch diese Probleme

    • micha
    • Kannst du mir ein Paar Details per eMail schicken? Am besten an flattr@allesblog.de

      Welche flattr-plugin Version?
      Welche flattr-comments-plugin Version?
      Welche WordPress Version?

      Und wenn möglich:
      Welches Theme?
      Welche anderen Plugins?

      Hast du das Plugin über das Dashboard oder manuell installieren wollen?

    • Fritten
    • Ich erhalte den selben “fatalen Error” wie drikkes.
      Ich verwende aktuell:
      – FlattRSS 0.7
      – Flattr 0.71
      – FlattrComments 0.8
      – WordPress 2.9.2
      – Theme arthemia
      – WP Ajax Edit Comments 3.02

      Das Plugin habe ich über das Dashboard installiert.

      Wenn ich WP Ajax Edit Comments ausschalte verändert sich nichts und der Fehler wird beim aktivieren des Plugins trotzdem angezeigt. Ich verwende keine weiteren Plugins, die auf die Comments einen Einfluss haben sollten.

      Eine Idee?

    • micha
    • FlattrComments 0.8 ist inkompatibel mit Flattr >= 0.7 Bitte auf Flattr 0.8 updaten, dann klappts auch mit dem Aktivieren!

    • Fritten
    • Es ist nun vorhanden, der Versionsprung hat geklappt…
      Jedoch nicht die Einbindung über das Formularfeld sondern sie landet darunter.
      Wie kann ich nun diesen Fehler beheben?

    • Fritten
    • Hab den Flattr-Button nun auch im normalen Formularfeld für nichtregistrierte Nutzer über der Kommentarspalte eingebunden bekommen.
      Nun wird er zweimal angezeigt.
      Einmal darüber und einmal darunter.
      Wenn ich den unter der Kommentarspalte aber ausblenden will, verschwindet auch der darüber..
      Eine Idee wie ich ihn darunter entfernen kann?

    • Fritten
    • Neues Problem was mächtigen Ärger bereiten kann.
      FlattrComments wirft aktuell immer meine ID an Beiträge von anderen Personen.
      Soeben mit jemanden getestet, der seine ID verwendet, die aber nach Veröffentlichung in meine geändert wird.

    • Gastro
    • Auch bei mir verursacht das FlattrWidget 0.8.1 im Zusammenspiel mit dem Flattr Plugin 0.71 Fehler im Layout sobald ich es aktiviere. Es sieht so aus als ob bestimmte Tags nicht geschlossen werden und daher das Seitenlayout zerstückelt wird, aber genau kann ich nicht sagen woran es liegt da leider keine Fehler ausgespuckt werden.

      Nach Absprache gibts gerne ne Vorführung 🙂

      Ich benutze übrigens das Theme “Unwakeable 1.5.3” welches sehr auf dem Theme “K2” basiert.

    • micha
    • Die Plugins Version 0.8+ sind nicht kompatibel mit 0.71 vom Flattr-Plugin. Bitte unbedingt auf die Version 0.8 vom Flattr Plugin updaten, bevor Ihr versucht die Zusatzplugins zu aktivieren!

    • drikkes
    • @Fritten: Das kann aber doch nicht überall der Fall sein, oder? Ich meine, nachdem ich einen meiner Kommentare hier bei flattr als “thing submitted” habe, seitdem steht in meiner Ansicht auf den Buttons in allen meinen Kommentaren unter diesem Artikel hier statt “Flattr” eben “My thing”. Wenn es sich automatisch in die ID des Blogbetreibers verwandeln würde, wäre das ja nicht möglich, oder? Ich kann Deine Kommentare hier aber nicht flattrn – wahrscheinlich, weil Du sie nicht submitted hast, oder?

    • drikkes
    • Nochmal @Fritten: Ich wolte Dich über meine Nachfrage hier auch per Kommentar bei Dir informieren, sehe aber, daß man bei Dir gerade überhaupt nicht kommentieren kann. Ist das so gewünscht? Dachte, Du wolltest nur flattrComments deaktivieren.

    • optikfluffel
    • Ich bekomm eine Fehlermeldung wenn ich das Widget einbinden möchte =(
      Fatal error: Undefined class constant ‘WP_VERSION’ in /var/www/blog/wp-content/plugins/flattrwidget/flattrwidget.php on line 107

    • PHPGangsta
    • Hi,

      nach einen Update auf das WordPress-Plugin Flattr 0.9 funktioniert das Plugin “Flattr-Widget 0.8.1” nicht mehr. Wäre natürlich super wenn da bald ein Update käme.

      Danke und Gruß
      Michael

    • Gastro
    • Ist das aktuelle FlattrWidget Plugin mit dem neuen Flattr Plugin 0.9.2 kompatibel?

    • micha
    • Ein zur Version 0.9 passendes Update wird es spätestens am Freitag geben.

    • Jean-Claude Fricki
    • Hallo zusammen

      Erstmal muss ich sagen, dass ich Deine Flattr PlugIns genial finde. Mein Widget geht auch nicht mehr seit ich Flattr auf 0.9.2 geupdatet habe. Freue mich daher sehr auf die neue Version vom Widget 😉

      Merci vielmal und lieber Gruss

      JC

    • LeSpocky
    • Ich habe folgendes Problem mit dem Widget. Installiert sind WP 2.9.1, Version 0.9.6 vom Flattr plugin und Version 0.8.1 vom Flattr widget plugin. Ich bekomme in meiner Sidebar folgenden Fehler angezeigt:

      Fatal error: Undefined class constant ‘WP_VERSION’ in /long/path/wp-content/plugins/flattrwidget/flattrwidget.php on line 107

      Ergebnis ist, dass die ganze Seite nicht mehr vernünftig lädt und ich das Widget wieder rausnehmen muss. 🙁

    • micha
    • Habe heute das Update hochgeladen, dass mit Flattr 0.9.6 zusammen funktioniert. Einfach über das WordPress Dashboard aktualisieren 😉

    • LeSpocky
    • Funktioniert, prima. 🙂

      (Jetzt muss ich nur noch zwischen Pest und Cholera zum Account aufladen wählen. :-/ )

    • Andreas
    • Erstmal: Vielen Dank für dieses Plugin .. sehr feine Idee 🙂

      Wenn ich mal so aus der Hüfte geschossen eine Anregung machen dürfte? Bitte beim nicht nur ein “float” mitgeben, sondern auch ein css-klasse? Dann könnt man das hübsch rumbewegen 😉

    • micha
    • Update auf mindestens 0.9.6.1 und du wirst nicht nur eine CSS Klasse sondern auch eine CSS ID vorfinden, mit der du gezielt einzelne DIVs ansprechen kannst, falls du das wolltest 😉

    • Konrad
    • Herzlichen Dank für die Mühe! Ich werde es in unseren Reiseblog einfügen und schauen, wie gut es ankommen wird 🙂 Sonnige Grüße aus Osnabrück!

    • Andreas
    • Ich bin hin und weg! Dankeschön!

    • Kiki
    • Soweit ich sehen kann, habe ich alle aktuellen Versionen, aber das widget will bei mir im Blog einfach immer noch nicht funktionieren. Es wird schlicht kein flattr Button angezeigt, weder der große noch der kleine. HTML ist auch nicht möglich, selbst wenn angekreuzt, das wird einfach als code dargestellt. Was mache ich falsch? Ich hab’s jetzt erst einmal wieder rausgenommen.

    • Kiki
    • Ah, okay, hab’ den Fehler gefunden. Das offizielle Plugin war zwar angeblich aktuell, de facto aber eine alte Version.