当前位置:首页 > CMS教程 > 其它CMS > 列表

typecho插件编写教程(二):写一个新插件

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-27 12:42:31 浏览: 评论:0 

这篇文章主要介绍了typecho插件编写教程(二):写一个新插件,本文是系列文章的第二篇,需要的朋友可以参考下

第一节我们了解了一个插件的基本构成,下面我们需要一个实例练习巩固。

真赶巧,老高最近正在改版百度sitemap提交插件for typecho,下面和老高一起改版吧!

准备

不知道大家用过WP版的百度结构化插件没?老高就是研究了那个插件,观察其API,然后就写出了typecho版的。

为什么要改版呢?

百度站长最近推出新的接口,使用起来更简单,工作量不算大,索性就改改吧!

新版插件需要实现哪些功能?

1.文章实时推送

2.推送历史数据

3.站点地图

接口调用地址(API)在哪儿?

百度站长后台,PHP接口实例:

  1. $urls = array
  2.     'http://www.example.com/1.html'
  3.     'http://www.example.com/2.html'
  4. ); 
  5. $api = 'http://data.zz.baidu.com/urls?site=www.phpgao.com&token=你的准入密钥'
  6. $ch = curl_init(); 
  7. $options =  array
  8.     CURLOPT_URL => $api
  9.     CURLOPT_POST => true, 
  10.     CURLOPT_RETURNTRANSFER => true, 
  11.     CURLOPT_POSTFIELDS => implode("\n"$urls), 
  12.     CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), 
  13. ); 
  14. curl_setopt_array($ch$options); 
  15. $result = curl_exec($ch); 
  16. echo $result

开始动手

让老高先把上一节HELLO_WORLD插件的代码盗版一下,删除掉所有注释,添加自己的信息,代码如下:

  1. if (!defined('__TYPECHO_ROOT_DIR__')) exit
  2. /** 
  3.  * 百度结构化插件教程版 
  4.  * 
  5.  * @package BaiduSubmitTest 
  6.  * @author  老高 
  7.  * @version 0.4 
  8.  * @link http://www.phpfensi.com/typecho_plugin_baidusubmit.html 
  9.  */ 
  10. class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface 
  11.     public static function activate(){} 
  12.  
  13.     public static function deactivate(){} 
  14.  
  15.     public static function config(Typecho_Widget_Helper_Form $form){} 
  16.  
  17.     public static function personalConfig(Typecho_Widget_Helper_Form $form){} 
  18.  
  19.     public static function render(){} 

以上代码老高起了个名字叫裸插件,意思是啥都干不了的插件,每次写插件的时候老高都会准备一个裸插件。

我们将其放在usr/plugins/BaiduSubmitTest/Plugin.php

立即去后台插件处,如图

为什么是即插即用?

因为我们没有实现插件的方法,所以无法启用。

下一节我们让我们的插件变的丰满起来!

本节完。

Tags: typecho插件编写

分享到: