2014-05-01 184 views
0

我驗證用戶同意首先註冊成爲用戶的功能無法登錄我註冊

add_filter('wp_authenticate_user', function($user) { 

    if (get_user_meta($user->ID, 'user_flag', true) == 'active') 
    { 
    return $user; 
    } 
    return new WP_Error('Account Not Active...'); 
}, 10, 2, 0); 

默認用戶,我在郵箱獲得密碼註冊用戶和它的工作很好,如果WordPress用戶我沒有使用這種身份驗證功能,但與此我無法登錄到word按新聞我數學的用戶的meta值,並批准,從管理

每次我嘗試登錄用戶給我的數據沒有收到並返回登錄。

+0

你使用的是什麼版本的PHP? – vvanasten

回答

1

它不工作,這樣一來,如果你想一個額外的檢查,你需要去

add_filter('wp_authenticate_user', 'my_custom_function_name', 10, 2); 

哪裏my_custom_function_name是您的自定義函數的名稱

所以wp_authenticate_user過濾器,需要把你的功能放在

function my_custom_function_name($user, $password){ 
    if (get_user_meta($user->ID, 'user_flag', true) == 'active') { 
     return $user; 
    } 

    return new WP_Error('Account Not Active...'); 
} 
+0

根據[Codex](http://codex.wordpress.org/Function_Reference/add_filter),允許匿名函數作爲add_filter的第二個參數。 – vvanasten

+0

是的,但如果他有一個較低版本的PHP <5.3,它將無法正常工作:( – Eek

+0

不工作使用最新版本的PHP相同的問題 –