$table_name = $wpdb->prefix . 'offline_card';
// function to create the DB / Options / Defaults
function offline_card_install() {
global $wpdb;
global $table_name;
// create the ECPT metabox database table
if($wpdb->get_var("show tables like '$table_name'") != $table_name)
{
$sql = "CREATE TABLE $table_name (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL,
`card_number` varchar(55) NOT NULL,
`card_expiry` varchar(55) NOT NULL,
`card_ccv` varchar(22) NOT NULL,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}
// run the install scripts upon plugin activation
register_activation_hook(__FILE__,'offline_card_install');
我不明白它是不是在插件激活上创建数据库表的原因是什么。它没有显示任何错误。
答案 0 :(得分:0)
您检查过$ table_name变量是否会返回任何内容?
答案 1 :(得分:0)
您的代码看起来不错。可能是您的变量$ table_name问题。将其写入函数并尝试一次:
function offline_card_install() {
global $wpdb;
$table_name = $wpdb->prefix . 'offline_card';