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


Posted in PHP onMay 28, 2015

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

真赶巧,老高最近正在改版百度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插件编写教程(二):写一个新插件

为什么是即插即用?

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

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

本节完。

PHP 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
PHP文本操作类
Nov 25 PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
php实例分享之html转为rtf格式
Jun 02 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 PHP
php 输出缓冲 Output Control用法实例详解
Mar 03 PHP
typecho插件编写教程(一):Hello World
May 28 #PHP
php实现的mongodb操作类
May 28 #PHP
PHP编译安装时常见错误解决办法
May 28 #PHP
PHP安装memcached扩展笔记
May 28 #PHP
PHP实现的增强性mhash函数
May 27 #PHP
PHP验证信用卡卡号是否正确函数
May 27 #PHP
PHP的伪随机数与真随机数详解
May 27 #PHP
You might like
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
jquery remove方法应用详解
2012/11/22 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Django如何批量创建Model
2020/09/01 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
本科毕业生求职自荐信
2014/04/09 职场文书
公司建议书怎么写
2014/05/15 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
员工升职自荐信
2015/03/27 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
战友聚会致辞
2015/07/28 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
Mysql数据库命令大全
2021/05/26 MySQL