【发布时间】:2011-08-29 12:23:07
【问题描述】:
我目前正在为客户编写插件,虽然它通常运行良好,但我发现 dbDelta 不允许我创建插件激活所需的表。
我正在运行下面的代码来绑定激活函数:
register_activation_hook(__FILE__, 'adminInstallation');
这是函数本身:
function adminInstallation(){
global $wpdb;
$objectEquipment = 'wp_object_equipment';
$equipmentSQL = "CREATE TABLE ".$objectEquipment." (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name tinytext NOT NULL
);";
require_once(ABSPATH.'wp-admin/includes/upgrade.php');
$equipment = dbDelta($equipmentSQL);
}
运行后,我正在检查数据库,但没有添加任何表。试图转储错误只会导致 Wordpress 告诉我有意外的输出,但它不会让我看到服务器返回的实际消息。这个问题困扰了我几个小时,在解决之前我无法继续。这里有人知道它为什么会这样做吗?
据我所知,所有代码都是有效的,这是我编写的第三个插件。我什至尝试使用我以前的代码,但这也不起作用。
编辑:我尝试在插件激活后运行该函数并转储 dbDelta 响应。它报告表已创建,但数据库中仍然没有任何新内容。有什么想法吗?
提前致谢! // 乔纳森
【问题讨论】:
标签: database plugins wordpress