0%

为 WordPress 文章自动添加Google或TinyURL短网址

在WordPress中添加文章短网址,首先是服务商要提供API,要不然是没办法的。下面就说说tinyurl和goo.gl短网址的添加方法:
添加TinyURL:
在WordPress主题目录functions.php添加以下代码:

1
2
3
4
function getTinyUrl($url) {
$tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
return $tinyurl;
}

在single.php适当的位置添加以下代码:

1
2
3
4
<?php
$turl = getTinyUrl(get_permalink($post->ID));
echo '本文TinyURL短网址: <a href="'.$turl.'">'.$turl.'</a>'
?>

添加Google的goo.gl:
这个稍微有些麻烦,因为申请google的API KEY,申请地址被河蟹了,需FQ:http://code.google.com/apis/console/,当然也可以不用添加API KEY,到底KEY有什么用,自己看文档。
更加详细信息可查看:http://code.google.com/apis/urlshortener/overview.html
在functions.php中添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function ggUrl($long_url){
$apiKey = 'API-KEY'; //此处添加自己的API KEY 申请地址 : http://code.google.com/apis/console/
$postData = array('longUrl' => $long_url, 'key' => $apiKey);
$jsonData = json_encode($postData);
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url');
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt($curlObj, CURLOPT_POST, 1);
curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
$response = curl_exec($curlObj);
curl_close($curlObj);
$json = json_decode($response);
return $json->id;
}

在single.php适当的位置添加:

1
2
3
4
<?php
$turl = ggUrl(get_permalink($post->ID));
echo '本文Google短网址: <a href="'.$turl.'">'.$turl.'</a>'
?>