WordPress插件开发教程一:创建、停用、删除插件

一个优秀的插件都是从0开始的,所以我们从创建开始

创建一个插件

wp-content/plugins创建一个文件夹,命名最好加前缀,WordPress官方现在应该收录了有五万多的插件,所以要起一个特殊的名称,防止插件和别人重名

再创建一个PHP文件名字和你的插件名类似或一样,我这里以前段时间开发的PushWordPressToWeChat为例

创建一个PushWordPressToWeChat.php文件,然后为了让WordPress后台能够识别我们的插件,还需要按照它的标准增加插件信息

<?php
/*
Plugin Name: Push WordPress To WeChat
Plugin URI: https://qq52o.me/2650.html
Description: 基于 PushBear 服务提供 WordPress 内容更新微信订阅推送的插件
Author: 沈唁
Version: 1.0.0
Author URI: https://qq52o.me
*/
?>

这个时候去看WordPress后台已安装的插件页面就能看到你创建的插件了,这样一个插件文件就创建成功了

不过我们还需要继续完善增加功能,因为这个插件并没有什么用

启用插件

WordPress的强大就在于提供了各式各样的函数、方法,通过register_activation_hook这个方法可以添加插件启用时的回调

可以使用这个方法增加我们启用插件时的初始化数据处理,比如我们初始化的时候需要给wp_options表中入库默认的配置信息

可以这么用:

function pwtw_submit_default_options()
{
    // 获取选项
    $default = get_option('PushWordPressToWeChat');
    if($default == '') {
        // 设置默认数据
        $default = array(
            'SendKey'    => '',
            'Default'    => '',
            'Delete'     => '',
        );
        //更新选项
        update_option('PushWordPressToWeChat', $default);
    }
}
register_activation_hook( __FILE__, 'pwtw_submit_default_options' );

这样启动插件的时候就会给wp_options表中增加PushWordPressToWeChat字段,值是串化后的数据

停用插件

我们的插件建议还是提供一个选项让用户选择,停用时是否删除我们插件给wp_options表中增加的字段,避免数据库脏数据过多

这个时候可以使用register_deactivation_hook方法回调

function pwtw_stop_option()
{
    $option = get_option('PushWordPressToWeChat');
    if ($option['Delete']) {
        delete_option("PushWordPressToWeChat");
    }
}
register_deactivation_hook(__FILE__, 'pwtw_stop_option');

判断一下用户的参数选择,如果是那就当用户选择停用的时候删掉插件增加的字段

删除插件

停用时都要考虑是否删除增加的字段,那么删除时就不用说了

当插件被删除时默认会在插件目录下找uninstall.php文件,并调用里面的方法

<?php
// 判断是不是从WordPress后台调用的
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
   exit;
}
delete_option("PushWordPressToWeChat");
?>

在文件开头添加判断是否是WordPress后台调用的,防止直接调用这个文件将插件删除

发表评论

发表评论

*

沙发空缺中,还不快抢~