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企业级应用之常见缓存技术篇
Jan 27 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php session 写入数据库
Feb 13 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
Laravel 批量更新多条数据的示例
Nov 27 PHP
php实现socket推送技术的示例
Dec 20 PHP
PHP实现 APP端微信支付功能
Jun 22 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
php+websocket 实现的聊天室功能详解
May 27 PHP
PHP7新特性
Mar 09 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的左右值无限分类
2013/06/20 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
详解node中创建服务进程
2017/05/09 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
jQuery实现本地存储
2020/12/22 jQuery
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
python表格存取的方法
2018/03/07 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
django使用多个数据库的方法实例
2021/03/04 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
学生周末回家住宿长期请假条
2014/02/15 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
教师业务培训方案
2014/05/01 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
初中生毕业评语
2014/12/29 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript