typecho插件编写教程(二):写一个新插件


第一节我们了解了一个插件的基本构成,下面我们需要一个实例练习巩固。

真赶巧,老高最近正在改版百度sitemap提交插件for typecho,下面和老高一起改版吧!

准备

不知道大家用过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

立即去后台插件处,如图

查看图片

为什么是即插即用?

因为我们没有实现插件的方法,所以无法启用。

下一节我们让我们的插件变的丰满起来!

本节完。

typecho插件编写教程(三):保存配置
上一节我们制作了一个裸插件,下面我们开始让我们的插件开始工作!I.完善方法两个方法我们实现activate和deactivate方法publicstaticfunctionactivate(){return'acti

PHP Opcache安装和配置方法介绍
本文针对PHP5.5等高级版本,编译时需要加上--enable-opcache参数编译安装完成后,我们开始配置Opcache[Opcache]zend_extension=opcache.soopcache.enable=1opcache.memory_consump

typecho插件编写教程(四):插件挂载
终于,在能够保存配置信息后,我们可以开始编写插件的挂载功能了。首先我们需要知道系统为我们在各个关键的环节都预留了插件点给我们,系统运