В метабоксе публикации, как сделать post_status условным для определенных пользователей - PullRequest
0 голосов
/ 01 мая 2018

Я хочу, чтобы пользовательская роль пользователя «см» видела только «см утверждено» и «см отклонено», а «rm» - только см утверждено, «одобрено», «отклонено» в метаданных публикации. коробка. Смотрите мой скриншот ниже, спасибо!

enter image description here

1 Ответ

0 голосов
/ 03 мая 2018

Я только что нашел решение после того, как поговорил со специалистом по WordPress на встрече. Поскольку я использую поток редактирования, все становится легко. Я рекомендую вам установить этот инструмент тоже.

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;
}
...