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数据缓存技术
Feb 14 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php计算税后工资的方法
Jul 28 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
phpQuery采集网页实现代码实例
Apr 02 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内存不够用的快速解决方法
2013/10/26 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
经贸日语专业个人求职信
2013/12/13 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
社区清明节活动总结
2014/07/04 职场文书
文员求职信
2014/07/15 职场文书
小学生优秀评语
2014/12/29 职场文书
升学宴答谢词
2015/01/05 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
邮政营业员岗位职责
2015/04/14 职场文书