Seiten

Neueste Artikel

Letzte Kommentare

Top 10 Schreiberlinge

Heiß diskutiert

RSS DG9VHs Amateurfunkblog

RSS Meisjes Blog

27. Jul. 2009 um 8:33 Uhr | Kommentar schreiben

Seit Freitag versorge ich euch ja mit einem netten kleinen Vögelchen unter den Beiträgen, dass euch mit einem Mausklick dazu animieren soll, die Beiträge bei Twitter zu kommentieren *g* – ok, wird noch nicht wirklich soooo in der Masse benutzt, aber dennoch stellte mir Angi die Frage, wie man diesen Button einbinden kann.

Hier muss man jetzt die Sache in zwei Schritte unterteilen:

  1. Erzeugung der TinyURL an sich
  2. Einbindung des Buttons ins Theme

Starten wir also mit der Erzeugung der TinyURL.

Um die TinyURL zu erzeugen, müssen wir unser Blog dazu bringen, die URL des Beitrags (= Permalink) an den Verkürzungsdienst TinyURL.com zu übermitteln und das Resultat der Kürzung entsprechend als Kurz-URL zu verwenden. Um dies zu realisieren, habe ich in die functions.php im Theme-Verzeichnis meines verwendeten Themes folgende Funktion eingebaut, die ich im Nachhinein kurz erkläre:

function get_tweetback_url($url) {
$tinyurl = file_get_contents(“http://tinyurl.com/api-create.php?url=”.$url);
return $tinyurl;
}

Wer sich die Funktion anschaut, sieht, dass sie im Grunde recht “quick and dirty” programmiert wurde – keinerlei Überprüfungen auf Gültigkeit der übergebenen URL (in der Variablen $url) oder sonstige Fehlerabfragen. Ist vorerst auch mal noch nicht notwendig, weil es um den Kern der Sache jetzt geht. Natürlich werde ich wohl in den nächsten Tagen diese Funktion weiter ausbauen, damit hier auch keine “dummen Dinge” passieren können.

Die Funktion macht also nix anderes, als die übergebene URL in der Variablen an TinyURL zu übermitteln und das Resultat wieder an die Ebene zurückzugeben, die die Funktion aufrief.

Das Teil gehört also in die Functions.php (habe sie bei mir ganz ans Ende gestellt, weil ich mir das so für mich angewöhnt habe… im Grunde könnt ihr sie aber auch an den Anfang stellen, wie ihr das wollt).

Als nächstes wäre die Einbindung des Buttons mit entsprechender Verlinkung zu Twitter gefragt. Die habe ich auf folgendem Wege mit einem Eingriff in meine Theme-Datei “single.php” erledigt:

if (function_exists(‘get_tweetback_url’) && is_single()) {
$surl = get_tweetback_url(get_permalink($post->ID));
//$msg = htmlentities(get_the_title($post->ID).” “.$surl); //diese Zeile war falsch… sorry
$msg = urlencode(get_the_title($post->ID).” “.$surl);
echo’<p><a href=”http://twitter.com/home?status=’.$msg.’” title=”Retweete diesen Beitrag!” rel=”nofollow”><img src=”/wp-content/themes/aargau_german/img/twitter.png” alt=”retweet it!” style=”border: 0pt none ; width:35px; height: 50px;” /><br/>Retweet</a></p>’;
}

Diesen Block habe ich in meinem Fall unterhalb des Beitragsinhaltes (der bei mit mit the_content() ausgegeben wird) angeordnet, es ließe sich aber generell wohl recht frei platzieren.

Kurze Erklärung, was hier passiert:

Die erste Zeile überprüft, ob wir auch in der functions.php (oder sonstwo) die Funktion oben definiert haben und ob es sich tatsächlich um eine Beitragsseite handelt. Ist beides der Fall, wird in der Variablen $surl die Kurz-URL, generiert durch unsere obige Funktion mit dem Permalink des Beitrages, gespeichert und in der Variablen $msg wird die Twitternachricht zusammengebaut, bestehend aus dem Titel des Posts + der Kurz-URL.

Die letzte Zeile (das echo) generiert nun den HTML-Code für die Einbindung des Buttons (den ich im Theme im img-Ordner gespeichert habe) und damit ist eigentlich der Fall erledigt.

Zum Schluss mag man sich die Frage stellen: Warum macht der das so kompliziert und nutzt nicht einfach ein fix und fertiges Retweet-Plugin? Ganz einfach: Ich habe am Freitag einige Plugins ausgetestet und dabei feststellen dürfen, dass diese häufig den bit.ly-Kürzungsdienst verwenden, der wiederum von meinem “Tweets als Kommentar”-Plugin “tweetbacks” nicht ordentlich erkannt wird. Da ich aber nun durch Tests eben herausgefunden habe, dass die TinyURLs zuverlässig erkannt werden, wollte ich eben diese nutzen :-)

Wer hier noch weitere Vorschläge oder Anmerkungen zu hat – nur zu, die Kommentarmöglichkeit des Blogs wäre quasi die ideale Plattform, um Feedback loszuwerden!

Update 15:12h:

Wer ein “brachiales, rudimentäres” Caching implementieren möchte, dem seien folgende Funktionen und Aufrufe mit an die Hand gegeben (alles noch “out of the box” ohne Fehlerroutinen):

functions.php:

function get_tweetback_url($id) {
$tinyURL = get_post_meta($id, ‘tinyURL’, true);
if (strlen  ( $tinyURL ) < 1 ) {
$tinyURL = get_tinyurl(get_permalink($post->ID));
add_post_meta($id, ‘tinyURL’, $tinyURL, true);
}
return $tinyURL;
}

function get_tinyurl($url) {
$tinyurl = file_get_contents(“http://tinyurl.com/api-create.php?url=”.$url);
return $tinyurl;
}

Und dies in die single.php:

if (function_exists(‘get_tweetback_url’) && is_single()) {
$surl = get_tweetback_url($post->ID);
$msg = urlencode(get_the_title($post->ID).” “.$surl);

echo’<p><a href=”http://twitter.com/home?status=’.$msg.’” title=”Retweete diesen Beitrag!” rel=”nofollow”><img src=”/wp-content/themes/aargau_german/img/twitter.png” alt=”retweet it!” style=”border: 0pt none ; width:35px; height: 50px;” /><br/>Retweet</a></p>’;
}

Tags:, , , ,

Verwandte Artikel

Hier klicken, um eine Twitter-Nachricht zu erzeugen!
Empfehle diesen Beitrag via Twitter!

14 Kommentare »

  1. Homepage von Matthias Matthias schreibt:Reply to this comment

    Danke für den Hinweis, gute Idee..

    Du kannst allerdings auch das Plugin “sexy bookmarks” nutzen
    http://www.meinungs-blog.de/geklaute-plugins-der-letzten-woche/

    Da kannst Du Dir den Dienst aussuchen, unter anderem auch TinyURL..
    Matthias´s last blog ..HD Trailer: Planet 51 My ComLuv Profile

    27. Jul. 2009 um 9:40 Uhr | #

  2. Homepage von Kim Kim schreibt:Reply to this comment

    @Matthias:

    Ich muss mir mal das mit den Sexy Bookmarks anschauen. Wobei ich mir keine Performance-Bremsen ans Bein binden will… Meine Methode wollte ich auch noch weiter ausbauen – im Moment ruft er ja quasi bei jedem Seitenaufruf die TinyURL-Seite auf, was noch bissel lästig ist. Ich will das lieber bissel cachen. Weiß ja jetzt nicht, ob dein Vorschlag hier schon ein Caching vornimmt… wenn ja, wäre das vielleicht eher die Wahl.

    Meine Idee wäre halt, die generierte ShortURL in den PostMETA-Daten unterzubringen. Sollte nicht so schwer sein.

    27. Jul. 2009 um 9:46 Uhr | #

  3. Homepage von Matthias Matthias schreibt:Reply to this comment

    Stimmt, kann ich gut verstehen ;)
    Matthias´s last blog ..Du musst meinen RSS Feed lesen weil.. My ComLuv Profile

    27. Jul. 2009 um 12:06 Uhr | #

  4. Homepage von Kim Kim schreibt:Reply to this comment

    @Matthias:

    Hab bei mir dann auch mal das Caching realisiert, so dass pro Artikel über die Lebensdauer des Artikels im Idealfall nur eine Anfrage an TinyURL gestellt wird :-)

    Werde die Realisierung wohl als Update in diesen Artikel heute Nachmittag auch noch einbauen.

    27. Jul. 2009 um 12:23 Uhr | #

  5. Homepage von Crazy Girl Crazy Girl schreibt:Reply to this comment

    Offtopic Frage: Kim, wie hast Du die Einbindung der Blogbildchen rechts in den Kommentaren realisiert? Magst Du mir den Code dazu schicken?
    Crazy Girl´s last blog ..Das optische Grauen im Netz – IE6 zeigt „die Flodders“ des Internets My ComLuv Profile

    28. Jul. 2009 um 8:12 Uhr | #

  6. Homepage von Kim Kim schreibt:Reply to this comment

    @Crazy Girl:

    Hach, danke für diesen Anstoß: Das gibt wieder nen Artikel für heute *lach*. In 10 Minuten bekommst du hier im Blog die Anleitung *lach*.

    28. Jul. 2009 um 8:16 Uhr | #

  7. Homepage von Crazy Girl Crazy Girl schreibt:Reply to this comment

    Ja, da freue ich mich drauf. Hab da nämlich eine Idee, die sich ein bißchen anders darstellt als bei Dir auf dem Blog, aber durchaus auch eine manuelle Spammer Abschreckung sein könnte *kicher*. Mal kucken ob ich das dann einfach so hinbekomme.
    Crazy Girl´s last blog ..Das optische Grauen im Netz – IE6 zeigt „die Flodders“ des Internets My ComLuv Profile

    28. Jul. 2009 um 8:29 Uhr | #

  8. Homepage von Kim Kim schreibt:Reply to this comment

    @Crazy Girl:

    Guggst du hier: http://blog.huebel-online.de/2009/07/28/wie-man-thumbnails-in-die-kommentare-einbaut/

    28. Jul. 2009 um 8:39 Uhr | #

  9. Homepage von Angi Angi schreibt:Reply to this comment

    Vielen Vielen Dank :) habs eingebaut und soweit ich das sehe klappt alles. Jetzt frage ich mich: Soll ich mich bei Twitter anmelden, damit ich es testen kann? Der Button soll ja hauptsächlich der Tatsache Rechnung tragen, dass immer mehr Menschen twittern, und Ihnen die Möglichkeit geben das auch über meine Posts zu tun – ich selber habe mich aber bisher beharrlich geweigert zu twittern da ich fest davon überzeugt bin, dass mir das die wenige Zeit die ich noch für nicht-PC-Dinger habe klauen würde *bg*
    Angi´s last blog ..Harry Potter 6 im Kino My ComLuv Profile

    28. Jul. 2009 um 20:03 Uhr | #

  10. Homepage von Angi Angi schreibt:Reply to this comment

    Ach ja, habe dein Vögelchen geklaut, ich hoffe das ist ok *schuldbewusst dreinschaut* :D
    Angi´s last blog ..Harry Potter 6 im Kino My ComLuv Profile

    28. Jul. 2009 um 20:03 Uhr | #

  11. Homepage von Kim Kim schreibt:Reply to this comment

    @Angi:

    Wenn ich dir nen Rat geben darf: Lass die Finger von Twitter *lach* es klaut dir deine Zeit – ne, Spaß beiseite… ich glaube nicht, dass du, die ersten 2-3 Wochen mal ausgenommen, später wirklich viel Zeit durch Twitter verlieren wirst, weil man es “nebenbei” tut… so quasi wie ne Tasse Kaffee nebenbei trinken oder (weniger gesund) ne Zigarette nebenbei rauchen… :-)

    Was das Vögelchen angeht: Den darfst du ruhig klauen, den hab ich selbst von einer Seite, wo er “frei zur Verfügung gestellt wurde”.

    29. Jul. 2009 um 7:52 Uhr | #

  12. Homepage von Sandra Meisje Mayer Sandra Meisje Mayer schreibt:Reply to this comment

    Hallo Liebster!

    Ich wollte mal wieder etws selbst in die Hand nehmen. Hätte ich’s nur gelassen – jetzt ist mein Selbstwertgefühl wieder im Keller ;-) Es hat nicht funktioniert, obwohl Du es so schön ausführlich erklärt hast!

    LG
    Sandra!
    Sandra Meisje Mayer´s last blog ..Projekt52: Himmlisch My ComLuv Profile

    29. Jul. 2009 um 16:46 Uhr | #

  13. Homepage von Angi Angi schreibt:Reply to this comment

    @Sandra: Hast du so eine komische Fehlermeldung nach dem Bearbeiten der Theme-Datei? Hatte ich erst auch. Das liegt daran dass die Anführungszeichen (‘ und “) beim einfügen in den WP-Editor falsch übernommen werden. Die muss man dann manuell neu machen. :)

    29. Jul. 2009 um 17:55 Uhr | #

  14. Homepage von Sandra Meisje Mayer Sandra Meisje Mayer schreibt:Reply to this comment

    @Angi: Kim hat’s soeben gerichtet. Danke!
    Sandra Meisje Mayer´s last blog ..Meine Diät schmeckt mir My ComLuv Profile

    29. Jul. 2009 um 19:21 Uhr | #

0 Trackbacks

Die Thumbnails werden generiert mit FreeThumbshots by M-Software.de

Kommentar schreiben

Hinweis: Der Blog-Betreiber behält sich vor, Links zur Homepage bzw. im Kommentartext abzuändern oder zu löschen, wenn diese kommerzieller Natur sind. Insbesondere Links, die nur zu SEO-Zwecken gesetzt werden, werden gelöscht. Näheres hierzu siehe Impressum.

XHTML: Erlaubt sind folgende Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CommentLuv Enabled

RSS-Feed für diese Kommentare. | TrackBack URI | Retweet!

Additional comments powered by BackType

Suche

Folge mir!

Just Twittered

Posting tweet...

Powered by Twitter Tools

Hier lese ich mit

Buttons

Meta

Switch to our mobile site