Bitly è un servizio per l'abbreviazione degli URL tra i più popolari. In questo articolo vedremo come utilizzare le API di Bitly per abbreviare gli URL dei nostri post di WordPress.
Per iniziare abbiamo bisogno di un account su Bitly e del token di accesso alle API. Una volta fatto questo possiamo definire la seguente classe:
class BitlyShortener {
private $_token = 'token di accesso';
private $_apiURL = 'https://api-ssl.bitly.com/v3/shorten?';
public $url;
public function __construct($uri) {
$this->url = $uri;
}
private function _buildURL() {
$requestURL = $this->_apiURL . 'access_token=' . $this->_token . '&longUrl=' . urlencode($this->url) . '&format=json';
return $requestURL;
}
public function shorten() {
$requestURI = $this->_buildURL();
$ci = curl_init();
curl_setopt($ci, CURLOPT_USERAGENT, 'Bit.ly Client');
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ci, CURLOPT_TIMEOUT, 30);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ci, CURLOPT_HEADER, false);
curl_setopt($ci, CURLOPT_URL, $requestURI);
$response = curl_exec($ci);
curl_close($ci);
$data = json_decode($response, true);
return $data['data']['url'];
}
}
La classe può essere inserita sia direttamente nel file functions.php
che in un file separato che verrà poi incluso in functions.php
tramite la funzione
require_once()
.
Possiamo usare la classe nel nostro tema come segue:
<?php
$url = get_permalink();
$shortener = new BitlyShortener($url);
$short_url = $shortener->shorten();
?>
<a href="<?php echo $short_url; ?>">Short link</a>