$departments_sql = "CREATE TABLE IF NOT EXISTS '" . $departments . "'(
'ID' bigint(20) NOT NULL AND AUTO_INCREMENT,
'name' varchar(128) NOT NULL,
'parent' bigint(20) NOT NULL DEFAULT '0',
'position' int(11) NOT NULL DEFAULT '1',
'description' varchar(512) DEFAULT NULL,
PRIMARY KEY ('ID'),
KEY 'parent' ('parent'))
ENGINE=InnoDB" . $charset . ";";
在 WordPress 中使用插件制作表格
但不起作用
您需要在主插件文件中添加以下内容以制作插件激活表(在下面设置您的自定义表名称):
register_activation_hook(__FILE__, 'my_custom_plugin_activation');
function my_custom_plugin_activation() {
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
global $wpdb;
dbDelta("
CREATE TABLE {$wpdb->prefix}my_custom_table_name (
`ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(128) NOT NULL,
`parent` BIGINT(20) NOT NULL DEFAULT '0',
`position` INT(11) NOT NULL DEFAULT '1',
`description` VARCHAR(512) DEFAULT NULL,
PRIMARY KEY (`ID`)
) {$wpdb->get_charset_collate()};");
}
它应该可以工作(不需要“CREATE TABLE IF NOT EXISTS”)。