当前位置: Linux研究室 > 在线教程 > 软件开发 > 编程实例 >

编写WordPress的插件还是很简单的


前两天给博客加了一个自动生成Sitemap的插件Google XML Sitemaps Generator,非常方便,在更新文章后会主动利用Google 的ping 来通知已有更新。于是研究了一下这个插件,顺便研究一下插件的原理。没想到插件的编写倒不复杂,正好这个插件提供了接口可以在其它插件中调用其静态方法,更新Sitemap,于是写了一个小插件试了一把。

在WordPress官网上查阅了文档: http://codex.wordpress.org/Writing_a_Plugin  ,如果不需要在对外发布插件,几个简单步骤就可以写一个插件了。

1、给插件创起个名字
2、为插件目录起个名字,在目录中至少包含一个php文件
3、在php文件名必须加入标准的插件注释,否则后台不会显示插件,注释格式文档中有示例
4、现在可以在php文件中写入程序逻辑了

我的插件示例:

<?
/*
Plugin Name: My Articles Sitemap Generator
Plugin URI: http://weblinux
Description: This plugin just for me.
Version: 1.0
Author: Sean Liu
Author URI: http://weblinux
*/

function articles() {
    global $wpdb;
    $generatorObject = &GoogleSitemapGenerator::GetInstance(); //Please note the “&” sign!
    if($generatorObject!=null) {
            $artresults =  $wpdb->get_results($wpdb->prepare(
            SELECT
            filename,
            unix_timestamp(stime) as stime
            FROM
            my_articles
            Inner Join my_articles_type ON my_articles_type.typeid = my_articles.typeid”));
            foreach ($artresults as $artresult) {
                $generatorObject->AddUrl($artresult->filename,$artresult->stime,‘monthly’,0.2);
            }
      }
}
add_action(“sm_buildmap”,“articles”);

?>

这个插件调用了Google XML Sitemaps Generator插件来生成我的my_articles表的Sitemap。方法很简单,有兴趣可以查阅该插件的documentation.txt。

关键点是,编写一个插件是非常容易的事,调用数据库、调用其它插件的方法、添加action都非常容易,无须关注太多内部的事情,很好很方便。

当然还有更多的东西需要了解,可以看文档:http://codex.wordpress.org/Writing_a_Plugin