2010-05-16 28 views
0

我試圖創建一個新的插件來跟蹤基於視圖的熱門帖子,我已經做好了一切準備工作,但似乎無法使用Wordpress API創建新表(我可以用標準PHP或phpMyAdmin來完成,但我希望這個插件能夠自給自足)。我已經嘗試了幾種方法($ wpdb-> query,$ wpdb-> get_results,dbDelta),但它們都不會創建新表。使用Wordpress API創建新表

function create_table(){ 
global $wpdb; 
$tablename = $wpdb->prefix.'popular_by_views'; 
$ppbv_table = $wpdb->get_results("SHOW TABLES LIKE '".$tablename."'" , ARRAY_N); 
if(is_null($ppbv_table)){ 
    $create_table_sql = "CREATE TABLE '".$tablename."' (
     'id' BIGINT(50) NOT NULL AUTO_INCREMENT, 
     'url' VARCHAR(255) NOT NULL, 
     'views' BIGINT(50) NOT NULL, 
     PRIMARY KEY ('id'), 
     UNIQUE ('id') 
    );"; 
    $wpdb->show_errors(); 
    $wpdb->flush(); 
    if(is_null($wpdb->get_results("SHOW TABLES LIKE '".$tablename."'" , ARRAY_N))) echo 'crap, the SQL failed.'; 
} 
else echo 'table already exists, nothing left to do.';} 
+2

您是否試過在這裏閱讀? http://codex.wordpress.org/Creating_Tables_with_Plugins – Gavrisimo 2010-05-16 19:08:15

回答

0

的問題是與SQL語句,而不是 PRIMARY KEY ('id'), UNIQUE ('id') 使用 PRIMARY KEY (id), UNIQUE (id)