这是我用来创建名为“prefix”+zillow-->的自定义表的代码,其中prefix是站点的wp表前缀。
register_activation_hook(__FILE__,\'CreateTable\');
下面给出了实际的函数——它检查这样一个表是否已经存在,以及为该表分配的版本号(以便我可以在该主题的更高版本中更新/更改该表)--
function CreateTable() {
//Database table versions
$zillow_db_table_version= "1.0";
$table_name = $wpdb->prefix . "zillow";
$installed_ver = get_option( "zillow_db_table_version" );
//Check if the table already exists and if the table is up to date, if not create it
if($wpdb->get_var("SHOW TABLES LIKE \'$table_name\'") != $table_name || $installed_ver != $zillow_db_table_version ) {
$sql = "CREATE TABLE " . $table_name .
" (propertyid varchar(20) NOT NULL ,
inserted_on date,
UNIQUE KEY id (id) );";
require_once(ABSPATH . \'wp-admin/includes/upgrade.php\');
dbDelta($sql);
update_option( "zillow_db_table_version", $zillow_db_table_version );
}
//Add database table versions to options
add_option("zillow_db_table_version", $zillow_db_table_version);
}
但根本没有创建表。以上代码有什么问题?我多次尝试使用上述代码激活主题(先激活另一个主题,然后激活这个主题),但没有创建任何表(我直接在WP数据库表列表中进行检查)。