Creé un rol personalizado «Experto» y agregué una capacidad personalizada a este rol: «manage_zoom_meetings».
Si trato de verificar si el usuario actual tiene la capacidad, la función current_user_can('manage_zoom_meetings') devoluciones false.
He probado este código para verificar si el rol quizás no existe para la función current_user_can.
add_filter( 'user_has_cap', function ( $allcaps, $caps, $args, $user ) {
wp_die( var_export( get_role( 'expert' )->capabilities, true ) );
return $allcaps;
}, PHP_INT_MAX, 4 );
La salida se ve así:
array ( 'level_0' => true, 'manage_zoom_meetings' => true, 'read' => true, )
No entiendo qué está mal aquí.
El problema es que no puedo agregar esta capacidad a un elemento del menú de administración (add_menu_page()) o a un tipo de publicación personalizada.
.