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 相关文章推荐
探讨Hessian在PHP中的使用分析
Jun 13 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
Laravel 4 初级教程之安装及入门
Oct 30 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 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 获取可变函数参数的函数
2009/08/26 PHP
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
php计算十二星座的函数代码
2012/08/21 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python中的变量和作用域详解
2016/07/13 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
python中sys.argv函数精简概括
2018/07/08 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
使用Python 统计高频字数的方法
2019/01/31 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
django配置app中的静态文件步骤
2020/03/27 Python
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
经济管理专业求职信
2014/06/09 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
学校开学标语
2014/10/06 职场文书
先进人物事迹材料
2014/12/29 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书