今天有人找我帮助解决作者角色不能添加视频的问题,经研究发现其实就是这个角色缺少一项权限(能力)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();