Flattr in Wordpress-Blog einbauen

Aus Tipps, Tricks und Anleitungen
Wechseln zu: Navigation, Suche
Werbung buchen bei http://www.pooq.org/werbungbuchen.phpAlter schützt vor gar nichts! - Omageschichten - Buch bei Amazon

Wie kann ich einen Flattr-Button in einen Wordpress-Blog einbauen?


Dieser Artikel beschreibt verschiedene Varianten, einen flattr-Button auf einer Webseite einzubinden. Dabei werden insbesondere Wege beschrieben, einen flattr Button in einen Wordpress-Blog einzubauen.

Wichtige Hinweise

Die beschriebene Lösung enthält teilweise programmiertechnische Lösungen, die dann zum Einsatz kommen, wenn es im normalen Vorgehen zu Problemen durch Fehler kommt. Es wurde versucht, diese so genau wie möglich zu beschreiben, damit auch Laien sie durchführen können. Bitte lese Dir den Artikel erst einmal genau durch und entscheide dann, ob Du die Anleitung umsetzen willst. Die Beschreibung wurde nach besten Wissen und Gewissen erstellt, allerdings wird keinerlei Haftung übernommen für irgendwelche Probleme, die trotz oder wegen der Anwendung der hier beschriebenen Methode auftreten. Wenn Du nicht sicher bist, ob du dieses Risiko eingehen möchtest, unterlasse bitte alle Änderungen und führe bitte keinen der genannten Schritte durch

Was tut Flattr eigentlich?

Der "Online-Bezahldienst" Flattr verfolgt eine einfache Idee. Es geht darum, als Nutzer freiwillig Geld an Internetseiten zu bezahlen, die einem gut gefallen. Zumeist sind Internetseiten kostenlos verfügbar und viele Besucher würden gerne als Dankeschön eine kleine Spende hinterlassen. Da jede Spende aber zeitaufwändig ist, wird mit Flattr ein zentrales System geschaffen, um Spenden mit nur einem Klick auf den Flattr-Button durchzuführen. Die Spender zahlen dazu einen Betrag auf ihr Flattr-Konto ein und legen einen monatlichen Zahlbetrag von 2 Euro bis 100 Euro fest. Dieser Betrag wird monatlich vom Konto abgezogen und gleichberechtigt unter allen Webseiten verteilt, auf deren Flattr-Button der Nutzer geklickt hat. Damit "bezahlt" man freiwillig für die Inhalte auf diesen Webseiten (Die Zahlungen bringen dem Bezahlenden also keinerlei Vorteil, sondern es geht darum, freiwillig Webseiten, die man gut findet, mit seinem Zahlbetrag zu belohnen.) Webseiten, die keinen Flattr-Button besitzen, können nicht belohnt werden. Sollte ein Nutzer innerhalb eines Monats keinen einzigen Flattr-Button klicken, so zahlt er dennoch den selbst festgelegten Monatsbetrag. Dieser wird dann automatisch an eine wohltätige Einrichtung gespendet.

Betreiber von Webseiten, die einen flattr-Button auf ihrer Seite einbinden wollen, müssen ebenfalls am Spendenprogramm teilnehmen. Jedoch kann (muss aber nicht) jeder Teilnehmer beliebig viele Flattr-Buttons auf seiner/seinen Webseiten integrieren und so selber Belohnungen von anderen Teilnehmern erhalten. Da der Monatsbetrag jedes Teilnehmers unter allen Webseiten aufgeteilt wird, bringt jeder Klick dem Belohnten meist nur wenige Cents (Beispiel: Ein Nutzer will 5 Euro im Monat spenden und klickt während des Monats auf 100 Buttons von Seiten, die ihm gefallen haben. Seine festgesetzten 5 Euro werden gleichmäßig auf alle Klicks verteilt und jeder Klick bringt dem Belohnten 5 Cent (=0,05 Euro)). Diese Minimalbeträge können sich aber zu größeren Summen für den Belohnten addieren, weil ja unterschiedliche Besucher für die Seite spenden können.

Wie kann man sich bei Flattr anmelden?

Nachdem Flattr zunächst nur ausgesuchten Nutzern in einer geschlossenen Beta-Testphase stand, ist das System nun für alle Nutzer offen. Jeder Nutzer kann sich auf der flattr-Homepage anmelden und einen eigenen Account erstellen.

Wie kann ich mein Flattr-Konto auffüllen?

Voraussetzung für die Nutzung des Flattr-Accounts ist es, mindestens den selbst festgesetzten Mindestbetrag (dazu gibt es einen Schieberegler auf der internen Seite "Dashboard", mit dem man Monatsbeträge von 2 Euro bis 100 Euro wählen kann) auf dem Flattr-Konto zu besitzen. Andernfalls kann man keine Spenden machen und kann auch keine Spenden erhalten. Auf dem Dashboard gibt es einen Link zum Einzahlen von Geld. Hierbei besteht im Wesentlichen die Möglichkeit, mit einem Paypal-Account oder mit einer Kreditkarte zu bezahlen. Eine Möglichkeit für eine Banküberweisung ist angeblich für die Zukunft geplant. Beim Bezahlen werden einmalig Gebühren an den Zahlungsdienstleister und an den Flattr-Betreiber fällig. (Im Juli 2010 lieferte eine Überweisung von 25 Euro über die Paypal-Methode ein effektives Guthaben (nach Gebühren) von 23,80 Euro).

Wie kann ich einen Flattr-Button auf eine beliebige Webseite einbauen?

Zuerst ist zu festzustellen, das man Flattr-Buttons nur auf eigene Seiten mit den eigenen Inhalten einbauen darf. Schließlich würde man andernfalls für Dinge belohnt werden, die in Wirklichkeit jemand anderes erschaffen hat.

Um den Button auf der eigenen Webseite zu integrieren, muss man den folgenden Programmcode in seine Seite einbauen:

 <script type="text/javascript">
  var flattr_btn = 'compact';
  var flattr_uid = 'your user id';
  var flattr_tle = 'the entry title';
  var flattr_dsc = 'the entry description, please be as thorough as possible';
  var flattr_cat = 'category';
  var flattr_lng = 'language';
  var flattr_tag = 'tag1, tag2, tag3';
  var flattr_url = 'http://www.example.com';
  var flattr_hide = 'true';
  </script>
  <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>

Dabei muss man alle Einträge, die mit var beginnen, an seine Bedürfnisse anpassen:

  • flattr_btn: Gibt die Art des buttons an. compact ergibt einen kleinen Button. large einen großen Button.
  • flattr_uid: Die eigene Flattr-ID, die man von Flattr bekommen hat. Man sieht sie in seinem Account auf der rechten Seite.
  • flattr_tle: Ein kurzer Titel, der den Inhalt beschreibt. Darf keine Zeilenumbrüche oder Anführungszeichen enthalten und muss mindestens fünf Buchstaben enthalten.
  • flattr_dsc: Eine kurze Beschreibung, die den Inhalt beschreibt. Darf keine Zeilenumbrüche enthalten.
  • flattr_cat: Die Kategorie, die die Art des Webseitenangebots beschreibt. Folgende Einträge sind möglich: text, images, video, audio, software, rest (=sonstiges).
  • flattr_lng: Die Sprache, in der die Webseite verfasst sind. Die erlaubten Einträge finden sich hier.
  • flattr_tag: Optional. Die ganze Zeile var flattr_tag = 'tag1, tag2, tag3'; darf auch gelöscht werden. Hier kann man durch Komma getrennt Schlüsselwörter eingeben, die zum Inhalt der Seite passen.
  • flattr_url: Optional. Die ganze Zeile var flattr_url = 'http://www.example.com'; darf auch gelöscht werden. Hier kann man angeben, auf welcher Webseite sich der Inhalt tatsächlich befindet. Wenn man zum Beispiel auf der Startseite eines Wordpressblogs die letzten 10 Artikel anzeigt, kann jeder Artikel einen eigenen Flattr-Button auf der Startseite haben und mit der Angabe der flattr_url würde die Belohnung trotzdem den einzelnen belohnten Artikel treffen, obwohl er auf der Startseite dargestellt wird.
  • flattr_hide: Optional. Die ganze Zeile var flattr_hide = 'true'; darf auch gelöscht werden. Ist die Zeile nicht gelöscht, bedeutet dass, dass die Seiten mit dem Flattr-Button nicht auf der Seite "Flattr.com" angezeigt werden (dennoch erscheinen die Buttons auf der eigenen Seite und man kann trotzdem belohnt werden).

Wie kann ich einen Flattr-Button in einen Wordpress-Blog einbauen?

Für große und bekannte Programme, wie zum Beispiel Wordpress gibt es meist vorgefertigte Lösungen (sogenannte "Plugins"), wie man Flattr einbauen kann. Flattr listet auf seiner Webseite Links zu solchen Plugins. Im Falle von Wordpress lädt man das entsprechende Plugin herunter und befolgt die auf der Pluginseite genannten Anweisungen.

Was ist, wenn das Wordpress-Plugin nicht so funktioniert wie ich möchte?

Da es unterschiedliche Webumgebungen (die Art wie der Webprovider die Internetseiten seiner Kunden verbreitet) und unterschiedliche Wordpressversionen gibt, kann es in Einzelfällen zu Fehlern kommen. Oft erscheint dann beim Aktivieren des Plugins in Wordpress eine Fehlermeldung wie: Parse error: syntax error, unexpected '.', expecting '(' in /plugins/flattrwidget/flattrwidget.php on line 127 Um derartige Fehler zu beheben, kann man zweierlei tun. Zum einen sollte man sicher stellen, die richtige (meist die aktuellste) Wordpress-Variante zu benutzen, wie sie auf der Seite des Plugins genannt ist. Bevor man diese gegebenenfalls installiert, sollte man Sicherheitskopien von allen Dateien und Daten anfertigen, um zur Not den Ausgangszustand wiederherstellen zu können. Die Versionsaufwertung wird auf der Update-Seite von Wordpress erklärt. Wenn das nicht hilft, könnte die Webumgebung des Providers fehlerhaft oder veraltet eingestellt sein. So brauchen zum Beispiel einige Plugins einen PHP5-Programminterpreter, während einige Webhoster nur den PHP4-Programminterpreter installiert haben. Hier kann man entweder in seinem Webhosterzugang selber Einstellungen vornehmen oder Rat bei der Telefonhotline des Anbieters suchen. Oftmals erklären sich die Webhoster bereit, entsprechende Updates durchzuführen.

Wenn das Plugin trotz aller Versuche nicht funktioniert oder einige Macken aufweist, die man nicht hinnehmen möchte, kann man versuchen, ein eigenes Plugin zu erstellen. Dazu benötigt man üblicherweise Programmierkenntnisse in der Programmiersprache PHP. Allerdings kann man auch ohne Programmierkenntnisse versuchen, eine bestehende Lösung zu kopieren. Das folgende ist ein Beispiel für ein einfaches Plugin, das jeden Artikel in Wordpress automatisch mit einem individuellen Flattrbutton versorgt. Dieses kann auf eigene Gefahr (auch von Nichtprogrammierern) übernommen werden. Es sind lediglich einige Anpassungen durchzuführen, die sich nicht vermeiden lassen (wie zum Beispiel die eigene Flattr-ID in der Zeile var flattr_uid = "MY_ID"; einzutragen). Im Anschluss speichert man die Datei unter dem Namen meinflattr.php in einen Ordner namens meinflattr. Diesen Ordner kopiert man auf der Webseite in den vorhandenen(!) Ordner wp-content/plugins/ des installierten Wordpressblogs. Nun kann das Plugin im Adminbereich des Blogs freigeschaltet werden.


 <?
  /*
  Plugin Name: Flattr Button
  Description: Adds a Flattr Button
  */

  function add_flattr_button($content) 
  {
    global $post;
    #get url
    $url = get_permalink();
    #get title
    $fl_title = get_the_title($post->ID);
    $fl_title = strip_tags($fl_title);
    $fl_title = str_replace('"',"'",$fl_title);
    $fl_title = str_replace('?'," ",$fl_title);
    while (strlen($fl_title) < 5)
      $fl_title .= ' ';
    #get tags
    $fl_tagflag = get_the_tags($post->ID);
    $fl_flag = 0;
    $fl_tag = '';
    while ($fl_flag < 9999)
    {
      if ($fl_tagflag[$fl_flag]->name != '')
        $fl_tag .= $fl_tagflag[$fl_flag]->name.',';
      $fl_flag++;
    }
    if (strlen($fl_tag) > 0)
      $fl_tag = substr($fl_tag,0,strlen($fl_tag)-1);
    #get text
    $fl_text = strip_tags(get_the_content($post->ID));
    $fl_text = str_replace(chr(10)," ",$fl_text);
    $fl_text = str_replace(chr(13)," ",$fl_text);
    # needed to cut a fix intro part of the beginning of the article (delete /* and */ to activate
    /*
    $fl_startflag = strpos($fl_text,"CUTME_Start");
    if ($fl_startflag > 0)
    {
      $fl_endflag = strpos(substr($fl_text,$fl_startflag,99999),"CUTME_End");
      $fl_text = substr($fl_text,$fl_startflag+$fl_endflag+1,99999);
    }
    */
    
    if (strlen($fl_text) > 150)
      $fl_text = substr($fl_text,0,150).' ...';
    elseif (strlen($fl_text) == 0)
      $fl_text = 'without description';
    $fl_text = trim(str_replace('"',"'",$fl_text));

    if (is_feed())
    {
       # in feeds add a button with link instead
       # $content .= '<br><br><a href="'.$url.'#flattr"><img src="URL TO PIC OF FLATTR_BUTTON"></a>';
    }
    else
    {
      $content .= "<div style='float:right; margin-left:10px;height:21px;display:inline;'>";
      #add blanks to avoid getting flattrbutton visible in trackbacks
      $content .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      $content .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      $content .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      $content .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      $content .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      $content .= '<a name="flattr"></a>';
      $content .= '<script type="text/javascript">
      var flattr_btn = "compact";
      var flattr_uid = "MY_ID";
      var flattr_tle = "'.$fl_title.'";
      var flattr_dsc = "'.$fl_text.'";
      var flattr_cat = "text";
      var flattr_lng = "de_DE";
      var flattr_tag = "'.$fl_tag.'";
      var flattr_url = "'.$url.'";
      var flattr_hide = "false";
      </script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script></div>';
    }
    return $content;
  }

  add_filter('the_content', 'add_flattr_button', 8);
  ?>

Im Obigen Script muss auf jeden Fall der Text MY_ID durch die eigene Flattr-ID ersetzt werden.

Um Flattr-Buttons auch in den RSS-Feeds einzublenden, muss in der Zeile

 # $content .= '<br><br><a href="'.$url.'#flattr"><img src="URL TO PIC OF FLATTR_BUTTON"></a>';

das "#"-Zeichen am Anfang entfernt werden und "URL TO PIC OF FLATTR_BUTTON" durch eine URL auf ein Bild (etwa vom Flattr-Button) ersetzt werden. Technisch wird durch die Zeile kein Flattr-Button eingeblendet, sondern nur ein Link zu der Stelle, an der sich der Flattr-Button im Original-Artikel befindet. Der Grund dafür ist, dass Buttons in RSS-Feeds nicht erlaubt sind und darum nicht oder nur falsch angezeigt werden.


Optional lassen sich bei der Beschreibung immer wieder kehrende Einleitungen im Text (der für die Beschreibung verwendet wird) herausfiltern. Wenn man zum Beispiel jeden Blogeintrag mit "(Blogbericht von Captain Quirk Sternzeit *heutiges Datum* auf Andromeda)" beginnt (manchmal macht man ja so etwas Blödes), kann man den Teil herausfiltern indem man

 /*
   $fl_startflag = strpos($fl_text,"CUTME_Start");
   if ($fl_startflag > 0)
   {
     $fl_endflag = strpos(substr($fl_text,$fl_startflag,99999),"CUTME_End");
     $fl_text = substr($fl_text,$fl_startflag+$fl_endflag+1,99999);
   }
 */

ersetzt durch:

   $fl_startflag = strpos($fl_text,"(Blogbericht von Captain Quirk");
   if ($fl_startflag > 0)
   {
     $fl_endflag = strpos(substr($fl_text,$fl_startflag,99999),")");
     $fl_text = substr($fl_text,$fl_startflag+$fl_endflag+1,99999);
   }

Welche Alternativen gibt es zu Flattr?

Der Internetdienst Kachingle bietet eine ähnliche Dienstleistung wie flattr. Es ist für viele Webseitenbetreiber einfacher zu installieren und erfodert auch keine Pflichtteilnehme am Spendenprogramm, wenn man selber Webseiten betreibt und nur belohnt werden will. Allerdings ist Kachingle anscheinend derzeit nicht soweit verbreitet wie flattr.

Verwandte Artikel