好吧,我一定读过数百个wordpress的答案,谷歌的搜索结果等,不同的人在dbDelta为他们的插件创建表时遇到了麻烦。
我尝试了许多基于这些答案的变体,看看它是否能起到作用,但下面的代码似乎无法创建表格。尽管dbDelta返回的数据表示它创建了表,但如果有任何人能给我任何帮助或看到我所犯的错误,我将非常感激。
function activation() {
// Install table
global $wpdb;
$sql = "CREATE TABLE ".$this->table_name." (
id MEDIUMINT(9) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
user_id BIGINT(20) NOT NULL UNSIGNED,
KEY user_id (user_id),
created DATETIME DEFAULT \'0000-00-00 00:00:00\' NOT NULL,
url VARCHAR(55) DEFAULT \'\' NOT NULL,
);";
var_dump($sql);
require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
var_dump(dbDelta( $sql ));
add_option( "invite_db_version", $invite_db_version );
}
此函数已注册到插件类构造函数中的激活挂钩
register_activation_hook( __FILE__, array( &$this, \'activation\' ) );