在发布元框中,如何使 post_status 对某些用户有条件
In publish meta-box, how to make post_status conditional to certain users
我想让自定义用户角色'cm'只能看到'cm approved'和'cm rejected',而'rm'只能看到'cm approved','rm approved','rm rejected' 在发布元框中。
请看下面我的截图,谢谢!
我在聚会中与 wordpress 专家交谈后才找到解决方案。当我使用 Edit Flow 时,一切都变得简单了。我建议您也安装该工具。
add_filter('ef_custom_status_list', 'custom_by_roles');
function custom_by_roles($custom_statuses){
$current_user = wp_get_current_user();
$permitted_statuses = array();
if ($current_user -> roles[0] == 'cm'){
$permitted_statuses = array(
'cm-approved',
'cm-rejected',
'received'
);
}elseif ($current_user -> roles[0] == 'rm'){
$permitted_statuses = array(
'cm-approved',
'rm-approved',
'rm-rejected'
);
}
foreach($custom_statuses as $key => $custom_status){
if(!in_array($custom_status->slug, $permitted_statuses))
unset($custom_statuses[$key]);
}
return $custom_statuses;
}
我想让自定义用户角色'cm'只能看到'cm approved'和'cm rejected',而'rm'只能看到'cm approved','rm approved','rm rejected' 在发布元框中。 请看下面我的截图,谢谢!
我在聚会中与 wordpress 专家交谈后才找到解决方案。当我使用 Edit Flow 时,一切都变得简单了。我建议您也安装该工具。
add_filter('ef_custom_status_list', 'custom_by_roles');
function custom_by_roles($custom_statuses){
$current_user = wp_get_current_user();
$permitted_statuses = array();
if ($current_user -> roles[0] == 'cm'){
$permitted_statuses = array(
'cm-approved',
'cm-rejected',
'received'
);
}elseif ($current_user -> roles[0] == 'rm'){
$permitted_statuses = array(
'cm-approved',
'rm-approved',
'rm-rejected'
);
}
foreach($custom_statuses as $key => $custom_status){
if(!in_array($custom_status->slug, $permitted_statuses))
unset($custom_statuses[$key]);
}
return $custom_statuses;
}