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 默默经典版本
Aug 04 PHP
php 向访客和爬虫显示不同的内容
Nov 09 PHP
PHP操作数组相关函数
Feb 03 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php去除头尾空格的2种方法
Mar 16 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
Jul 02 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 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
页面乱码问题的根源及其分析
2013/08/09 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
Vuex实现数据增加和删除功能
2019/11/11 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
python爬虫之百度API调用方法
2017/06/11 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
Python continue继续循环用法总结
2018/06/10 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
pyqt5实现登录界面的模板
2020/05/30 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
python可迭代对象去重实例
2020/05/15 Python
安全资料员岗位职责
2013/12/14 职场文书
房屋出售协议书
2014/04/10 职场文书
什么是就业协议书
2014/04/17 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
春节超市活动方案
2014/08/14 职场文书
小浪底导游词
2015/02/12 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL