Den offiziellen Tweet Button in WordPress Archiv und Index Seiten

Gerade habe ich mir die erste Folge Technikload angeschaut und mir dadurch mal den neuen offiziellen Tweet Button zu Gemüte geführt. Das ganze ist wirklich ein Kinderspiel und kann in der single.php einfach an gewünschter Stelle reinkopiert werden. Für Archivseiten wie auch für die index.php oder home.php braucht es eine kleine Änderung, damit die richtige URL und der richtige Text vom Twitter Button benutzt wird.

Hier zunächst die Zeile „Code“ wie man sie direkt unter http://twitter.com/goodies/tweetbutton generieren kann:

<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="TWITTERNAME" data-lang="de">Tweet</a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

Beim Generieren des Buttons gibt es auch die Möglichkeit weitere Attribute zu ergänzen, so z.B. data-url für eine eigene URL – also worauf der Tweet linken soll – und data-text für einen eigenen Tweet-Text. Werden diese Attribute nicht gesetzt, liest das Tweet-Button-Script diese Daten direkt von der Seite, was ja bei der Startseite (in der Regel die index.php oder home.php) einfach die Website URL und nicht der Beitrags-Permalink ist. Gleiches gilt für den Tweet-Text.

Innerhalb des WordPress Loops ist die Lösung natürlich ein Kinderspiel.

data-url="<?php the_permalink(); ?>" data-text="<?php the_title(); ?>"

Mein Sonderfall auf dieser Seite:

Da ich den Titel mit meiner beschriebenen Funktion um ein paar HTML Tags erweitere, funktioniert die Übergabe der des Titels nicht einfach so. Hier meine Quick and Dirty Lösung, um die HTML Tags einfach wieder rauszufiltern:

data-text="<?php echo htmlentities( get_the_title() ); ?>"

Update:

Sergej hat in seinem Blog eine Variante gepostet, die anstatt dem Javascript den Button direkt in ein <iframe> einbindet. Das Javascript welches im Endeffekt ebenfalls den Button in einem <iframe> darstellt, entfällt.

Join the Conversation

1 Comment

Leave a comment

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