WordPress Shortlink über goo.gl im Artikel anzeigen
Innerhalb von WordPress gibt es die Möglichkeit einen sogenannten Shortlink auszugeben. Der Shortlink ist eine kurze URL zum Artikel und soll das Senden von Trackbacks und Links (z.B. über Twitter) erleichtern. Über eine Funktion kann der Shortlink im Theme angezeigt werden um Besuchern das Weiterempfehlen eines Artikels zu erleichtern. Normalerweise generiert der Shortcode innerhalb von WordPress allerdings nur die normale URL sowie die ID des aktuellen Beitrags. Praktischer ist es wenn man Googles URL-Kürzungs-Dienst goo.gl verwendet.
Shortlink anzeigen
Zunächst müssen wir den normalen Shortlink von WordPress in unseren Artikel integrieren. Öffnet die single.php (alternativ auch index.php oder ein anderes Template) und fügt an beliebiger Stelle folgendes Code-Snippet ein.
<?php if (function_exists('wp_get_shortlink')) { ?>
Shortlink: <input type='text' value='<?php echo wp_get_shortlink(get_the_ID()); ?>' onclick='this.focus(); this.select();' />
<?php } ?>
Es wird ein Input-Feld erstellt in welchem der Shortlink angezeigt wird. Per Klick wird der Inhalt markiert, so dass der Besucher den Link schneller kopieren kann.
Google URL-Shortener verwenden
Um nun Googles URL-Shortener goo.gl anstelle von WordPress zu verwenden fügt einfach folgenden Code in Eure functions.php ein.
// WordPress Shortlinks mit Goo.gl ersetzen
function googl_shortlink($url, $post_id) {
global $post;
if (!$post_id && $post) $post_id = $post->ID;
if ($post->post_status != 'publish')
return "";
$shortlink = get_post_meta($post_id, '_googl_shortlink', true);
if ($shortlink)
return $shortlink;
$permalink = get_permalink($post_id);
$http = new WP_Http();
$headers = array('Content-Type' => 'application/json');
$result = $http->request('https://www.googleapis.com/urlshortener/v1/url', array( 'method' => 'POST', 'body' => '{"longUrl": "' . $permalink . '"}', 'headers' => $headers));
$result = json_decode($result['body']);
$shortlink = $result->id;
if ($shortlink) {
add_post_meta($post_id, '_googl_shortlink', $shortlink, true);
return $shortlink;
}
else {
return $url;
}
}
add_filter('get_shortlink', 'googl_shortlink', 9, 2);
Der Shortlink von WordPress wird nun ersetzt und ab sofort wird innerhalb des Input-Feldes der Google-Link angezeigt.

Das Shortlink-Snippet stammt von Otto on WordPress; die goo.gl Umsetzung von Konstantin
Besteht da auch die Möglichkeit seine eigene Domain einzusetzen.
Den Google Code werde ich mir noch integrieren, nur wäre es abunzu besser wenn es heißen würde „meine.domain/xyz“.
Verwende zwar 3.4.1 aber es schaut bei mir so aus „wp.me/pPst1-oo“
thx
Ralph
Hi.
Endlich eine Anleitung die Auch auf der Startseite funktioniert. Eine Frage hab ich da. Gibts diese lösung auf für Bit.ly oder j.mp?
vieleicht kannst du mir da weiterhelfen.
Beste Grüsse
Patrick
@Patrick: Eine Lösung für Bit.ly habe ich spontan nicht parat. Aber es gibt bei Bit.ly eine entsprechende API – die Lösung sollte also nicht allzu fern sein. Ein Plugin gibt es dafür: http://wordpress.org/extend/plugins/wp-bitly/
Hi, how can I use this code but with my API Key for Goo.gl so that I can obtain a links history and stats.
@Jonas – danke, hätte mir selbst eigentlich auch schon auffallen können…
Gibt es eine Möglichkeit, die WordPress-Shortlinks anzuzeigen? (also example.com/?p=540) Finde ich persönlich optisch etwas reizvoller.
@Simon: Klar, dann musst du nur den ersten Teil einbinden ohne anschließend noch die Google API in der
functions.php
zu integrieren.Ist es irgendwie möglich das die erstellten Kurz-URLs auch in meinem Google-Account hinzugefügt werden? Dann hätte ich Statistiken usw.