WordPress致命错误:未捕获错误:调用未定义的函数dbDelta()

时间:2019-08-24 作者:pixelngrain

在插件激活挂钩上,我想创建一个表,但下面的代码给出了Uncaught Error. 我只是想知道为什么它没有给出这个错误,因为我正确地包括了update.php.

global $wpdb;

$sql = \'CREATE TABLE IF NOT EXISTS \'.$wpdb->prefix.\'gs_orders(\';
$sql .= \'id BIGINT(20) AUTO_INCREMENT NOT NULL,\';
$sql .= \'order_number VARCHAR(200) NOT NULL,\';
$sql .= \'group_id INT NOT NULL,\';
$sql .= \'group_admin BIGINT(20) NOT NULL,\';
$sql .= \'group_user BIGINT(20) NOT NULL,\';
$sql .= \'product_groups VARCHAR(255),\';
$sql .= \'products VARCHAR(255),\';
$sql .= \'created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\';
$sql .= \'updated_at DATETIME NULL DEFAULT NULL,\';
$sql .= \'PRIMARY KEY (id),\';
$sql .= \'INDEX (order_number, group_id, group_admin, group_user),\';
$sql .= \')\' . $wpdb->get_charset_collate() . \';\';

require_once ABSPATH . \'/wp-admin/includes/update.php\';
dbDelta($sql);
以上代码是关于插件激活回调函数的。

1 个回复
SO网友:pixelngrain

我把文件放错了。而不是update.php 我应该包括upgrade.php. 我知道这是一个愚蠢的错误,但也许将来会帮助那些做同样事情的人。

相关推荐

$wpdb selects wrong database

我在另一个WordPress网站的文件夹中创建了一个新的WordPress网站。示例-主站点。com-mainsite。com/第二站点我创建了一个插件,并使用$wpdb 将数据插入数据库,插件将数据插入第一个/父站点的数据库。我使用的代码包括$wpdb 如下所示:$path = $_SERVER[\'DOCUMENT_ROOT\']; include $path . \'/wp-load.php\'; include $path . \'/wp-config.php\'; inc