今天有人找我帮助解决作者角色不能添加视频的问题,经研究发现其实就是这个角色缺少一项权限(能力)unfiltered_html,看了网络上的一些文章只是说说并没有给出代码!这里放出来给大家方便使用。

如果其他角色也有相似问题可以相应修改代码中的角色名,下面是角色列表。

  • Subscriber:订阅者
  • Contributor :投稿者
  • Author :作者
  • Editor :编辑
  • Administrator :管理员

下面代码加入主题 functions.php即可!可以发视频后成功后可删除



function cap_user(){
	

if(is_user_logged_in()){
$current_user = wp_get_current_user();
    
   ///获取当前角色的能力数组
    $array2016_10_17 = $current_user->allcaps;
    $array_user_cap = object_array($array2016_10_17);
    //搜索角色数组中存在html编辑角色 存在则teur 否则 false
    $key = array_search('unfiltered_html', $array_user_cap); 
    }

//如果不存在该能力则创建此能力unfiltered_html
    if ($key) {
// 获取 "author" 角色对象
$role = get_role( 'author' );
// 为该角色对象添加 "unfiltered_html" 能力
$role->add_cap( 'unfiltered_html' );

    }


}
//PHP stdClass Object转array数组  
function object_array($array) {  
    if(is_object($array)) {  
        $array = (array)$array;  
     } if(is_array($array)) {  
         foreach($array as $key=>$value) {  
             $array[$key] = object_array($value);  
             }  
     }  
     return $array;  
}  

cap_user();