WordPress Shortlink

Gerade bei Twitter braucht man oft eine kurzen Link eines Artikels, um ihn schnell und einfach zu verbreiten.Wordpress bringt so eine Funktion auch mit sich diese generiert aber nur einen Link und hängt die ID des Artikels an. Besser wäre es da einen externen Kürzungsdienst zu verwenden, wie beispielsweise goo.gl.

Wie man diesen in WordPress einbaut zeige ich euch hier.

Zuerst müssen wir unser Theme so vorbereiten das es den Shortlink auch anzeigt. Dafür öffnen wir die index.php oder die single.php und fügen dort unser 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 } ?>

Wir erstellen damit eininput-Feld in welchem der Link angezeigt wird. Wenn man draufklickt wird er makiert was den Besuchern das kopieren erleichtert.

Nun wollen wir aber noch den Googledienst verwenden. Um dies zu realisieren müssen wir in die functions.php folgenden Code einfügen. Sollte diese nicht vorhanden sein muss eine solche Datei erstellt werden.

// 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);

Nun wird der Shortlink ersetzt und im Inputfeld angezeigt. Wie live aussieht sehen sie bei uns. Wir nutzen diese Methode auch.

Bilder von goo.gl und WordPress.org

Ich bin Kevin, und schreibe hier über Themen die sich von CSS über Designs bis zur testgetriebenen Entwicklung mit PHP erstrecken. Ich arbeite in einer kleinen Firma als PHP-Entwickler und entwickle dort PHP Backends für verschiedene Projekte vorallem mit Laravel. Privat betreibe ich noch diesen Blog und notesafe.

1 Kommentar Schreibe einen Kommentar

  1. Wow ! Das mit dem Shortlink – nachdem ich es kapiert habe 😉 ist ja echt genial. Die Bilder im Artikel sind sehr schön gemacht und hilfreich.

Schreibe einen Kommentar