2015-01-15 57 views
1

我想讓WordPress自動從somesite.com/wp-admin(如果用戶登錄成功)重定向到用戶所在的博客(somesubsite.somesite。 COM /可溼性粉劑管理員)。我寫了下面的代碼,這樣做:WordPress重定向如果用WPMU登錄到不正確的站點

add_action('admin_page_access_denied',  'redirect_user_to_correct_blog'   );  

function redirect_user_to_correct_blog() 
{ 
if (! is_user_logged_in() || is_network_admin()){ 
    return; 
} 
$blogs = get_blogs_of_user(get_current_user_id()); 
//var_dump($blogs); 
if (wp_list_filter($blogs, array('userblog_id' => get_current_blog_id()))){ 
    return; 
} 
if(count($blogs)==1){ 
    $blog=reset($blogs); 
    wp_redirect(get_admin_url($blog->userblog_id)); 
    exit(); 
} 
} 

但是這個代碼不出現是執行(我把它記錄已被刪除代碼)。有誰知道我做錯了什麼?我正在運行當前可用的所有插件/ WordPress的最新版本。

當前,當用戶登錄到somesite.com/wp-admin時,我得到:「您沒有足夠的權限訪問此管理頁面。」併發送到「somesite.com/wp-admin」而不是「somesubsite.somesite.com/wp-admin」。

謝謝!

回答

0

問題是我使用管理菜單編輯器,它覆蓋了WordPress的默認行爲,因此「admin_page_access_denied」從未被調用過。我向這個插件添加了一個do_action('admin_page_access_denied'),它拒絕訪問用戶。我希望這可以幫助別人在數小時內不會撞牆。 :)

相關問題