5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11674|回复: 1
打印 上一主题 下一主题

[插件/开发] wordpress插件开发教程01 插件的创建安装停用卸载

[复制链接]

670

主题

785

帖子

8273

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8273
跳转到指定楼层
楼主
发表于 2021-5-28 21:57:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、建立目录
二、建立配置文件(和目录名相同)
比如
qss-copyright.php就放在/wp-content/plugins/qss-copyright目录下

第1部分放置注释,按以下格式,注释里写版权作者信息
  1. /*
  2. Plugin name:hello demo
  3. Plugin URI:http://bbs.5ucms.com/
  4. Description:演示自定义插件
  5. Author:shine
  6. Author URI:http://bbs.5ucms.com/
  7. Version:1.0
  8. */
复制代码


然后可以写一下时区,因为有的同学可能把服务器放海外,时间不对,又不会改不写的话,用户需要在后台 设置 常规 中设置时区
  1. date_default_timezone_set('Asia/Shanghai');
复制代码


第2部分正式写安装的功能代码

  1. function hc_copyright_install(){
  2.     update_option("qss_copyright_text","<p>插件添加底部版权的例子</p>")
  3. }
  4. //把功能通过钩子插入到WP里
  5. register_activation_hook(__FILE__,'qss_copyright_install')
复制代码


第3部分写停用的功能代码(删除不用写,停用后,后台直接能删除)
当插件停用时,设置一个值qss_copyright_deactivate为yes
这里只是举例,实际上我们应该清理掉安装时所做的修改,有些插件在停用时功能做的不好
会留下很多垃圾信息在数据库里,新手不懂得清理,作为插件开发者来说,要注意
  1. function qss_copyright_deactivate(){
  2.     update_option("qss_copyright_deactivate","yes")
  3. }
  4. register_deactivation_hook(" qss_copyright_deactivate","yes")
复制代码


回复

使用道具 举报

670

主题

785

帖子

8273

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8273
沙发
 楼主| 发表于 2021-5-28 22:16:59 | 只看该作者
那么当插件真正进行删除时应该运行一个程序
wp有这种考虑,须在插件目录里建立一个uninstall.php的文件
内容例子如下:

  1. //这2行代码一定要加,避免被其他人直接执行,确保是由后台执行的用户真实意愿
  2. if(!defined('WP_UNINSTALL_PLUGIN'))
  3. exit();
  4. //删除前边安装和停用时建立的修改,以确保不留下垃圾信息,因为你自己不删除,新手不会,其他插件也不会管,WP也没有清理功能
  5. delete_option('qss_copyright_text');
  6. delete_option('qss_copyright_deactivate');
复制代码

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-6-17 00:01 , Processed in 0.046875 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表