typecho插件编写教程(二):写一个新插件
程序员文章站
2023-12-10 21:28:40
第一节我们了解了一个插件的基本构成,下面我们需要一个实例练习巩固。
真赶巧,老高最近正在改版,下面和老高一起改版吧!
准备
不知道大家用过wp版的百度结构化插件没?老...
第一节我们了解了一个插件的基本构成,下面我们需要一个实例练习巩固。
真赶巧,老高最近正在改版,下面和老高一起改版吧!
准备
不知道大家用过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;
/**
* 百度结构化插件教程版
*
* @package baidusubmittest
* @author 老高
* @version 0.4
* @link http://www.phpgao.com/typecho_plugin_baidusubmit.html
*/
class baidusubmittest_plugin implements typecho_plugin_interface
{
public static function activate(){}
public static function deactivate(){}
public static function config(typecho_widget_helper_form $form){}
public static function personalconfig(typecho_widget_helper_form $form){}
public static function render(){}
}
以上代码老高起了个名字叫裸插件,意思是啥都干不了的插件,每次写插件的时候老高都会准备一个裸插件。
我们将其放在usr/plugins/baidusubmittest/plugin.php
立即去后台插件处,如图
为什么是即插即用?
因为我们没有实现插件的方法,所以无法启用。
下一节我们让我们的插件变的丰满起来!
本节完。