2016-09-26 6 views
0

ユーザーの役割に応じて表示する3つのナビゲーションメニューを作成しています。ゲストユーザー用に1つ、Wholesale用にもう1つ、最後にホスピタリティナビゲーションメニューがあります。WordPressメニューはユーザーの役割に応じて

ログインしたときのユーザーの役割に応じて表示しようとしています。そのため、ログインしていないゲストのゲストと、それぞれのアカウントにログインしたときのゲストの2つです。それは、ゲストのメニューを示して何wholesale_customer & hospitality_customerが、どんなに:私は卸売とホスピタリティユーザーは、私が使用しています卸売プラグインを通じてアカウントとユーザーのための鍵である作成した

 <?php 
     if (is_user_logged_in('administrator')) {?> 
      <?php wp_nav_menu(array('menu' => 'guest-menu')); ?> 
     <?php 
     } else if (is_user_logged_in('wholesale_customer')) {?> 
      <?php wp_nav_menu(array('menu' => 'wholesale-menu')); ?> 
     <?php 
     } else if (is_user_logged_in('hospitality_customer')) {?> 
      <?php wp_nav_menu(array('menu' => 'hospitality-menu')); ?> 
     <?php 
     } else {?> 
      <?php wp_nav_menu(array('menu' => 'guest-menu')); ?> 
     <?php 
     } 
     ?> 

:私は、次の引数を行っています?だから私の推測では、それは最初の引数を過ぎていないか、最後までスキップしているだけです。

+0

機能is_user_logged_inは持っていませんパラメータhttps://developer.wordpress.org/reference/functions/is_user_logged_in/ –

+0

この質問の回答を試して、ユーザーの役割を確認することができます。http://wordpress.stackexchange.com/questions/5047/how-to-check-if -a-user-specific-in-a-specific-role –

答えて

0

私は作業結果を達成するために来る人参照してください。

 <?php 

     global $current_user; 

     get_currentuserinfo(); 

     switch (true) { 
     case (user_can($current_user, "administrator")):?> 
      <?php wp_nav_menu(array('menu' => 'guest-menu')); 
     break; 
     case (user_can($current_user, "wholesale_customer")):?> 
      <?php wp_nav_menu(array('menu' => 'wholesale-menu')); 
     break; 
     case (user_can($current_user, "hospitality_customer"))?> 
      <?php wp_nav_menu(array('menu' => 'hospitality-menu')); 
     break; 
      default: 
      wp_nav_menu(array('menu' => 'guest-menu')); 
      break; 
     } 

     ?> 
2

これを試してみて、

上記のみんなに感謝して、答えを探している他の人のための
$user = wp_get_current_user(); 

if (in_array('wholesale_customer', (array) $user->roles) { 
    wp_nav_menu(array('menu' => 'wholesale-menu')); 

} else if (in_array('hospitality_customer', (array) $user->roles)) { 
    wp_nav_menu(array('menu' => 'hospitality-menu')); 

} else { 
    wp_nav_menu(array('menu' => 'guest-menu')); 
} 
+0

お返事ありがとうございます。それは私が達成しようとしているものにどのように変換されますか? – PhpDude

+0

回答を変更しました。 –

関連する問題