WordPress 启用主题的时候创建一个自定义数据表

最近在自己开发网站积分系统的时候,需要自定义一个积分获得记录的一个数据表,希望在启用当前主题的时候进行检查,如果没有该数据表,那么就创建一个,启用主题这个动作使用 load-themes.php 这个钩子,参考代码如下:

  1. <pre lang="PHP" line="1" escaped="true" >//创建声望记录数据表
  2. add_action( 'load-themes.php', 'the_table_install' );
  3. function the_table_install() {
  4. global $wpdb;
  5. $table_name = isset($table_prefix) ? ($table_prefix . 'prestige') : ($wpdb->prefix . 'prestige'); //获取表前缀,并设置新表的名称
  6. if ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
  7. $sql = " CREATE TABLE `" . $table_name . ("` (
  8. `id` int(11) NOT NULL AUTO_INCREMENT,
  9. `user_id` int(11) DEFAULT NULL COMMENT '用户id',
  10. `post_id` int(11) DEFAULT NULL COMMENT '文章id',
  11. `old` int(11) DEFAULT '0' COMMENT '原始声望',
  12. `apply` int(11) DEFAULT NULL COMMENT '操作声望',
  13. `new` int(11) DEFAULT NULL COMMENT '新声望',
  14. `type` enum('register','login','publish_post','publish_course','comment','publish_question','answer_question','fabulous','cancel_fabulous','collect','cancel_collect') NOT NULL DEFAULT 'publish_post' COMMENT '类型:注册 登录 发文章 发教程 评论 提问 回答问题 被点赞 取消点赞 被收藏 取消收藏',
  15. `time` datetime DEFAULT NULL COMMENT '操作时间',
  16. `note` varchar(255) DEFAULT NULL COMMENT '说明备注',
  17. PRIMARY KEY (`id`)
  18. ) ENGINE=MyISAM DEFAULT CHARSET=") . DB_CHARSET . (" COMMENT='声望记录表';");
  19. require_once (ABSPATH . ("wp-admin/includes/upgrade.php"));
  20. dbDelta($sql);
  21. }
  22. }

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 添加后台文章列表自定义分类筛选

2022-5-27 17:18:30

WordPress教程

为WordPress添加“点击展开/收缩”短代码 功能

2022-5-27 23:07:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索