Das Twitter-Logo

Früher war alles besser, denn da konnte man einen Tweet-This-Link ganz einfach bauen, indem man auf http://twitter.com/home?status=Lese+gerade%3A+<url> verlinkte. Wer darauf kickte (und bei Twitter eingeloggt war), wurde auf seine Home-Seite bei Twitter weitergeleitet und der Text „Lese gerade: <url>“ stand bereit zum Absenden im Textfeld. Seit kurzem wird aber dieser Methode die URL, sofern sie ein Gleichheitszeichen enthält, an dieser Stelle abgeschnitten und ist nicht mehr zu gebrauchen. Die Lösung für dieses Problem zwitscherte mir vor ein paar Tagen @amauf: einfach auf http://twitter.com/share?text=Lese+gerade%3A+&url=<url> verlinken.

Das ist (glaube ich) genau jene URL, die auch der Standard-Tweetbutton nutzt und entsprechend wird, wenn man diesen Link verwendet, auch Twitters eigener URL-Shortener t.co zum kürzen der verlinkten Adresse verwendet. Dieser hat einen eingebauten Phishing-Schutz, ist aber ansonsten genau so gut wie jeder andere Kurz-URL-Dienst. Seitdem die URLs bei Gleichheitszeichen abgeschnitten werden und Twitter seinen eigenen URL-Shortener sportet, ist natürlich mein alter Post über Tweet-This-Links mit blogeigenen Shoturls für WordPress veraltet, da man jetzt ja weder die blogeigenen Shorturls braucht noch der ausgegebene Link der richtige ist. Korrigiert könnte das Ganze dann so aussehen:

/*
 * Tweet-This-Link
 */
if(!function_exists('get_tweet_this_link')){
	function get_tweet_this_link($message_template = 'Lese gerade: %TITLE', $link_title='Twittern', $title_length = 80){
		global $post;
		// Titel des Artikels kürzen
		$title = $post->post_title;
		if(strlen($title) > $title_length){
			$short_title = mb_substr($title, 0, $title_length);
			$short_title .= '...';
		}
		else{
			$short_title = $title;
		}
		// Titel und URL codieren
		$message = urlencode(str_replace('%TITLE', $short_title, $message_template));
		$url = urlencode(get_permalink($post->ID));
		// Fertig ist der Link!
		return '<a href="http://twitter.com/share?text='.$message.'&url='.$url.'">'.$link_title.'</a>';
	}
}

Warum nicht den Standard-Twitter-Button verwenden statt der Marke Eigenbau? Ganz einfach: Widgets machen Websites langsam und wann immer man sich das Laden von externen Ressourcen sparen kann, sollte man das tun. Die Performance der eigenen Website ist wichtiger als die CI von Twitter. Außerdem haben keine zwei Widgets von verschiedenen Diensten die gleichen Maße und sehen in Kombination entsprechend unschön aus. Kann mal bitte irgendwer dafür eine Spezifikation schreiben, inklusive Performance-Richtlinien? Irgendwann hat sich das Internet doch auch auf Formate für Werbebanner und 88×31-Buttons geeinigt – warum geht das nicht auch bei Web2.0-Widgets?