J'ai créé un rôle:
$role = add_role( 'role', 'role', array('read' => true) );
et ainsi créé une casquette:
$role->add_cap( 'cap' );
après cela, j'avais créé un sous-menu dans le menu administrateur avec 'cap' comme argument de capacité. Le problème est donc que l'utilisateur avec le rôle 'rôle' peut voir le sous-menu mais que l'administrateur du site ne peut pas voir le sous-menu. La question est donc: je dois ajouter 'cap' au rôle admin? n'est-ce pas automatiquement?
Une nouvelle fonctionnalité doit être explicitement ajoutée à un rôle ou à un utilisateur. Dans votre cas, si vous souhaitez que tous les administrateurs disposent de la fonctionnalité 'cap', vous l'ajouterez au rôle 'administrateur':
$role = get_role( 'administrator' );
$role->add_cap( 'cap' );
Si vous voulez qu'un administrateur spécifique ait une capacité 'cap', ajoutez-le à cet utilisateur particulier:
$user = new WP_User( $user_id ); // $user_id = id of your administrator user
$user->add_cap( 'cap' );