2016-09-20 153 views
0

我使用以下代碼來創建一個短代碼和檢查用戶角色:用戶角色SHORTCODE

function check_user_role($atts, $content = null) { 
     extract(shortcode_atts(array(
       'role' => 'role'), $atts)); 

     if(current_user_can($role)) { 
       return $content; 
     } 
} 
add_shortcode('user_role', 'check_user_role'); 

,然後加入以下簡碼顯示的內容僅於所選擇的角色 - 在這種情況下的訂戶「

[user_role role="subscriber"]content[/user_role] 

它的偉大工程,但現在我想補充的‘作者’的簡碼顯示內容既有‘用戶’和‘作者’

我已經嘗試了很明顯的:

[user_role role="subscriber, author"]content[/user_role] 

但這似乎並沒有工作。

我需要修改它自己的函數中的任何東西嗎?

回答

1

你只是嘗試一下,以獲得更多幫助

https://wordpress.stackexchange.com/questions/131814/if-current-user-is-admin-or-editor

function check_user_role($atts, $content = null) { 
     extract(shortcode_atts(array(
       'role' => 'role'), $atts)); 

     $user = wp_get_current_user(); 
     $roles = explode(',', $user); 
     $allowed_roles = array($roles); 
     if(array_intersect($allowed_roles, $user->roles)) { 
       return $content; 
     } 
} 
add_shortcode('user_role', 'check_user_role'); 
+0

就是這樣..謝謝! –