2012-09-25 60 views
-1

所有的插件都可以工作,但是在我的自定義插件$ wpdb,wp_create_user,wp_insert_user不起作用。 例如,不起作用如何訪問數據庫到wordpress?

$user_id = 1; 
$website = 'http://wordpress.org'; 
wp_insert_user(array ('ID' => $user_id, 'user_url' => $website)) ; 


global $wpdb; 
if(!isset($wpdb)) { 
    require_once('../../../wp-config.php'); 
    //require_once('../../../wp-load.php'); 
    require_once('../../../wp-includes/wp-db.php'); 
} 
    $insertUser = "INSERT INTO $wpdb->users (user_login, user_pass, user_email, user_url) VALUES ('123', '123',  '[email protected]', 'lasad.com')"; 
    $wpdb->query($insertUser); 
+1

**不要以純文本**存儲密碼。 – SLaks

+1

並請提供您的錯誤消息 –

+0

除了@SLaks評論,逃避密碼和哈希它。 – weltschmerz

回答

0

您對用戶表的引用不正確。

在您聲明的全局$ wpdb下; 試試這個

$wpdb->wp_users = 'wp_users' 

,然後在SQL中,

不是使用您的查詢,使用參考$ wpdb->網友:

$wpdb->wp_users 

你可以使用這個任何的WordPress表,請確保您正確命名您的表,請仔細檢查phpmyadmin中的表名稱

但是對於您的情況Id避免執行此插入並使用wordpre ss函數 http://codex.wordpress.org/Function_Reference/wp_create_user 試一下那裏的例子。它包含在輸入新用戶之前需要執行的基本檢查,例如它們是否已經存在/重複的用戶名。並會自動設置諸如User_Id號碼之類的內容,並隨機化您的密碼,使其不會以純文本形式顯示。

+0

我試試這個,但沒有結果... http://codex.wordpress.org/Function_Reference/wp_create_user例子也不起作用。我認爲在訪問數據庫的問題... – Rokk1stas

+0

嗯,你可能沒有正確加載加載和配置文件。在實際調用函數之前,嘗試在頁面頂部添加這樣的內容,您可能需要根據文件的位置調整此代碼中的根目錄。 $ root = dirname(dirname(dirname(dirname(__ FILE__)))); (file_exists($ root。'/ wp-load.php'))require_once($ root。'/ wp-load.php'); } else { require_once($ root。'/ wp-config.php'); } – Del