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 相关文章推荐
PHP 操作文件的一些FAQ总结
Feb 12 PHP
php 什么是PEAR?
Mar 19 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
php输出xml属性的方法
Mar 19 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
基于swoole实现多人聊天室
Jun 14 PHP
php JWT在web端中的使用方法教程
Sep 06 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
python进阶教程之词典、字典、dict
2014/08/29 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
Python阶乘求和的代码详解
2020/02/14 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
大学生蛋糕店创业计划书
2014/01/13 职场文书
北体毕业生求职信
2014/02/28 职场文书
城管综合整治方案
2014/05/01 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
见习报告的格式
2014/10/31 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python