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

投稿   沈唁志  2019-04-19 07:31:18  187 人阅读  4 条评论
摘要:

Boke112导航有很多WordPress方面的教程,也有很多WordPress插件方面的推荐和教程,但是WordPress插件开发方面的教程却没有。网络上也有一些插件开发的系列文章,不过好像都没有想过要去搬砖,直到沈唁志博主计划写一个插件开发的系列教程,在取得同意后将陆续发布在boke112导航的Plugins栏目中。

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

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

创建一个插件

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

再创建一个 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 后台调用的,防止直接调用这个文件将插件删除。

您可能感兴趣的文章

如果文章对你有帮助,请赞赏支持作者继续创作!

文章标签:
原文地址:https://qq52o.me/2662.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 沈唁志 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
©boke112导航,本站推荐使用:阿里云 ECS服务器等云产品服务,国外免备案主机建议使用:老薛主机
沈唁志

 发表评论

中国赞表情摊手表情吃瓜表情笑哭表情偷笑表情衰表情汗表情思考表情费解表情抓狂表情晕表情流泪表情疑问表情嘻嘻表情吃惊表情鼓掌表情

  1. 金庸小说
    金庸小说 @回复

    我以前删插件,就删除问题了,这个不错啊

  2. 去看你博客
    去看你博客 @回复

    很好的教学文章,会一直关注 [中国赞]