2016-09-01 6 views
0

Wordpressのトップ管理バー "ログアウト"に条件付きリンクを割り当てたいと思います。どのファイルにその条件を入れることができますか?実際には、私は会員ログインポータルを作成しています。そのためには、管理者以外のユーザーを別のログインページに割り当てる必要があります。wp-login.php Page。たとえば、次のようにWordpress管理バーログアウトへのリンクを割り当てる方法

<?php if(user == 'admin'): ?> 
<a href="http://mysite/wp-login.php">Logout</a> 
<?php } else { ?> 
<a href="http://mysite/members.php">Logout</a> 
<?php } ?> 

すべてのヘルプはappretiatedされます!!。

+0

ログアウト後にユーザーをリダイレクトしますか? –

+0

そうではありません。私はユーザーの役割に応じてリダイレクトしたい。 –

+0

<?php if(current_user_can( 'manage_options')){ //何かへ }?> – jannej

答えて

0

/** 
* Sets the custom cookie with the redirect URL 
*/ 
function wh_set_logout_url_cookie() { 

    if(!is_user_logged_in()) return false; 

    global $current_user; 
    //getting current user role 
    $user_roles = $current_user->roles; 
    $user_role = array_shift($user_roles); 

    $exists = $_COOKIE['the_logout_url']; 

    if(empty($exists)) { 
     switch ($user_role) { 
      case 'administrator': 
       $expire = time() + (86400 * 7); 
       @setcookie('the_logout_url', 'your-url', $expire); 
       break; 
      case 'editor': 
       $expire = time() + (86400 * 7); 
       @setcookie('the_logout_url', 'your-url', $expire); 
       break; 
      default: 
       break; 
     } 
    } 
} 
add_action('init', 'wh_set_logout_url_cookie'); 

/** 
* Applies the URL saved in the cookie to the wp_logout_url for redirect 
*/ 
function wh_logout_redirect_url($logouturl) { 

    $redirect = $_COOKIE['the_logout_url']; 

    if($redirect) //redirect to the custom set url 
     return $logouturl . '&amp;redirect_to=' . urlencode($redirect); 

    //redirect to homepage 
    return $logouturl . '&amp;redirect_to=' . urlencode(get_option('siteurl')); 

} 
add_filter('logout_url', 'wh_logout_redirect_url', 10, 2); 

は、カスタムURLでyour-urlを置き換える、次のコードで試してみてください。

関連する問題