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 相关文章推荐
discuz安全提问算法
Jun 06 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
php数组中删除元素之重新索引的方法
Sep 16 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
php防止sql注入简单分析
Mar 18 PHP
浅谈php错误提示及查错方法
Jul 14 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
PDO::setAttribute讲解
Jan 29 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
如何在PHP中进行身份认证
2006/10/09 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP实现微信提现功能
2018/09/30 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
Vue基础配置讲解
2019/11/29 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
安装Python的教程-Windows
2017/07/22 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
Python 处理图片像素点的实例
2019/01/08 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
客户代表实习人员自我鉴定
2013/09/27 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
院系推荐意见
2015/06/05 职场文书
小学班主任研修日志
2015/11/13 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers