WordPress 自定义插件初始化及卸载

编写WordPress插件一定会碰到修改表或者增加自定义表,或者修改某一张表的数据,因为这些动作不是经常性的,仅仅只需在插件激活的时候完成,WordPress已经留好了接口,只需要在插件中调用函数

register_activation_hook(__FILE__, 'tinyms_init');

这个函数的第二个参数是自定义的函数名称,如下

function tinyms_init(){
 $table_name_images="tinyms_imagemaster";
 global $wpdb;
 $wpdb->query("CREATE TABLE if not exists `".tinyms_imagemaster."` 
  (`id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`))");
}

现在,只要激活插件,上面的表便创建好了。

同样的道理,当插件取消激活的时候,我们也可以做一些卸载清理的动作,同样用到预置的函数

register_deactivation_hook($file, $function);

习惯编写PHP类的函数调用方式:

//方法都写成静态函数
class MyPlugin {
  static function install() {
     // do not generate any output here
  }
  static function uninstall() {
     // do not generate any output here
  }
}
//类名,方法名
register_activation_hook( __FILE__, array('MyPlugin', 'install') );
register_deactivation_hook(__FILE__,array('MyPlugin','uninstall'));

你可能感兴趣的:(wordpress)