【发布时间】:2019-08-19 19:20:39
【问题描述】:
我正在尝试在激活我的插件时创建一个数据库表。但是,它没有被创建,我不知道为什么。文件的位置是正确的,我已经尝试了 $wpdb->query 和 $dbDelta 似乎都不起作用。
以下代码位于includes/davi-referrals-install.php 文件中。
<?php
/*
*Create database table on plugin activation
*/
function dr_activation () {
global $wpdb;
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
//Table Used To Store Referrer Accounts
$table_name = $wpdb->prefix . "dr_accounts";
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name text NOT NULL,
email varchar(200) NOT NULL,
password varchar(64) NOT NULL
companyname text NOT NULL,
telephone text NOT NULL,
code text NOT NULL,
balance text NOT NULL,
registered datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
$wpdb->query($sql);
}?>
主插件文件:
//Return Plugin Installation Process
function referral_activation(){
require_once plugin_dir_path( __FILE__ ).'includes/davi-referrals-install.php';
dr_activation();
} register_activation_hook( __FILE__, 'referral_activation');
我在启用 WP_DEBUG 时遇到的错误是,当我删除 dr_activation() 函数调用时,此错误不再显示:
插件在激活过程中产生了 777 个字符的意外输出。
【问题讨论】: