Home >php教程 >php手册 >typecho插件编写教程(二):写一个新插件

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

WBOY
WBOYOriginal
2016-06-13 09:03:34892browse

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

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

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

  真赶巧,老高最近正在改版百度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

  立即去后台插件处,如图

  为什么是即插即用?

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

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

  本节完。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn