中国电信189.io短地址api接口调用以及与wordpress的整合

作者:matrix 发布时间:2013年8月7日 分类:Wordpress 兼容并蓄

中国电信短地址服务平台:189.io

中国电信短地址api接口调用

api接口:http://d.hhtjim.com/ioapi.php?url=http://www.baidu.com

这里再留个官方的api接口:http://api.189.cn/EMP/shorturl/long2short?access_token=8723a2ce797824056e66cc3091a354711375933538509&app_id=120032470000032374&longurl=https://www.hhtjim.com

短地址生成成功

参数longurl=就是你需要转换的地址。

申请到了这个api肯定不能浪费,这就琢磨着与WordPress的整合。

由于本人对于php还是小白 ,所以找了很多的函数和方法, 这里留个很有用的做个记录(这代码给LZ折腾惨了 😡 )

1.函数模板functions.php中添加:

<?php  
function ecurl($getur){  
$xml = new DOMDocument();   
$xml->load('http://api.189.cn/EMP/shorturl/long2short?access_token=13f1efe925d93f1bd1f2f9e2f30883e9&app_id=699556960000031989&longurl='.$getur);   
foreach($xml->getElementsByTagName('shorturl') as $shorturl)   
$value = $shorturl->firstChild->nodeValue;   
echo $value;  
}  
?>  

说明:ecurl()为增加的自定义函数,用来读取api返回的xml值,也就是那短地址。

参考:http://www.jb51.net/article/25853.htm

ecurl($getur)中的参数为变量$getur,是用来读取WordPress的当前页面或者文章的url(下面有介绍)

2.文章页面模板single.php相关位置处中添加自定义函数ecurl()的调用。我这里是显示本文的固定连接  so  在content结束前位置处添加:

本文连接:  
<a href="<?php  ecurl(wp_get_shortlink( $post->ID ) ); ?> "><?php  ecurl(wp_get_shortlink( $post->ID ) ); ?>   

注意:ecurl()的参数不能用wordpress的the_permalink()函数,若使用the_permalink()会直接显示文章的原地址,而且ecurl()也无法调用the_permalink()函数作为参数大致原因网上说是只能读取    没搞懂~

后来无意中找到wordpress短接接函数的调用<?php wp_get_shortlink( $post->ID ); ?>  神奇的解决了问题! :mrgreen:

 

短地址还可以延伸到QR码的显示:

<div id="currentPageCode" style="cursor: pointer; position: fixed; bottom: 30px; left: 10px;"><img style="border: 2px;" width="100" height="100"  src="http://api.qrserver.com/v1/create-qr-code/?size=100x100&data=<?php  ecurl(wp_get_shortlink( $post->ID ) ); ?>" alt="QR:  <?php the_title(); ?>" title="扫描二维码即可访问本页"/></div>  

参考:http://www.wjzhb.com/?p=388

中国电信189.io短地址转换API详情:http://open.189.cn/index.php?m=api&c=index&a=show&id=400#6