kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

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.

Workshops und Seminare von kulturbanause

Unsere Berlin-Termine für Ende 2017 sind online!

Jetzt Tickets sichern!

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

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

8 Kommentare

  1. Philipp

    Verfasst am 9. Februar 2011 um 14:33 Uhr.

    Ist es irgendwie möglich das die erstellten Kurz-URLs auch in meinem Google-Account hinzugefügt werden? Dann hätte ich Statistiken usw.

  2. Simon

    Verfasst am 9. Februar 2011 um 18:21 Uhr.

    Gibt es eine Möglichkeit, die WordPress-Shortlinks anzuzeigen? (also example.com/?p=540) Finde ich persönlich optisch etwas reizvoller.

    • Jonas Hellwig

      Verfasst am 9. Februar 2011 um 19:55 Uhr.

      @Simon: Klar, dann musst du nur den ersten Teil einbinden ohne anschließend noch die Google API in der functions.php zu integrieren.

  3. Simon

    Verfasst am 11. Februar 2011 um 19:12 Uhr.

    @Jonas – danke, hätte mir selbst eigentlich auch schon auffallen können…

  4. Danielsemper

    Verfasst am 28. Juli 2011 um 21:37 Uhr.

    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.

  5. Patrick

    Verfasst am 5. August 2011 um 13:11 Uhr.

    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

  6. Ralph

    Verfasst am 9. August 2012 um 17:42 Uhr.

    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

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.