typecho插件编写教程(二):写一个新插件
第一节我们了解了一个插件的基本构成,下面我们需要一个实例练习巩固。
真赶巧,老高最近正在改版百度sitemap提交插件fortypecho,下面和老高一起改版吧!
准备
不知道大家用过WP版的百度结构化插件没?老高就是研究了那个插件,观察其API,然后就写出了typecho版的。
为什么要改版呢?
百度站长最近推出新的接口,使用起来更简单,工作量不算大,索性就改改吧!
新版插件需要实现哪些功能?
1.文章实时推送
2.推送历史数据
3.站点地图
接口调用地址(API)在哪儿?
百度站长后台,PHP接口实例:
$urls=array(
'http://www.example.com/1.html',
'http://www.example.com/2.html',
);
$api='http://data.zz.baidu.com/urls?site=www.phpgao.com&token=你的准入密钥';
$ch=curl_init();
$options= array(
CURLOPT_URL=>$api,
CURLOPT_POST=>true,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_POSTFIELDS=>implode("\n",$urls),
CURLOPT_HTTPHEADER=>array('Content-Type:text/plain'),
);
curl_setopt_array($ch,$options);
$result=curl_exec($ch);
echo$result;
开始动手
让老高先把上一节HELLO_WORLD插件的代码盗版一下,删除掉所有注释,添加自己的信息。
if(!defined('__TYPECHO_ROOT_DIR__'))exit;
/**
*百度结构化插件教程版
*
*@packageBaiduSubmitTest
*@author 老高
*@version0.4
*@linkhttp://www.phpgao.com/typecho_plugin_baidusubmit.html
*/
classBaiduSubmitTest_PluginimplementsTypecho_Plugin_Interface
{
publicstaticfunctionactivate(){}
publicstaticfunctiondeactivate(){}
publicstaticfunctionconfig(Typecho_Widget_Helper_Form$form){}
publicstaticfunctionpersonalConfig(Typecho_Widget_Helper_Form$form){}
publicstaticfunctionrender(){} }