2016-09-20 100 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

就是这样..谢谢! –