Question

Je travaille avec l'API de rôle et les capacités pour la première fois aujourd'hui et faisant usage de l'excellent Membres plug-in. Après avoir bricolé autour depuis un certain temps je remarque que la capacité « des pages d'édition » fait deux choses:

  1. Permettre à l'utilisateur de créer une nouvelle page
  2. Permet à l'utilisateur de modifier les pages existantes

Je suis en train de diviser cette capacité en deux. Je veux que mon utilisateur:

  1. Ne pas être en mesure de créer de nouvelles pages
  2. Permet à l'utilisateur de modifier les pages existantes

Je cherche à écrire un code pour mon thème qui permet que cela se produise. Je peux créer une nouvelle capacité très facilement. Le défi est alors devient WordPress pour répondre en conséquence à elle.

Toute pensée serait appréciée.

Était-ce utile?

La solution

Oui, cela est en effet un problème. Une capacité dédiée 'create_posts' est rabotés:

http://core.trac.wordpress.org/ticket/16714

Autres conseils

Salut, j'ai fait des recherches pendant un certain temps, est venu avec le hack. Wp-admin / new_post.php ajouter ce qui suit, après la ligne de wp_die:

wp_die( __('Invalid post type') );

if ( !current_user_can( 'manage_options' ) and $post_type == 'page') {
    echo "To create new pages please ask site admin";
    exit;
} //if user is not admin, a warning is issued and script terminated

puis dans wp-admin / menu, ajouter une condition pour montrer le sous-menu Ajouter une page dans l'admin. La ligne est normalement là, mais pas inclus dans l'instruction if

if ( current_user_can( 'manage_options' )) { //if user is admin, show submenu for creating new pages, else no luck
   $submenu['edit.php?post_type=page'][10] = array( _x('Add New', 'page'), get_post_type_object( 'page' )->cap->create_posts, 'post-new.php?post_type=page' );
}

Je dois encore comprendre comment retirer le bouton Ajouter un nouveau dans les pages d'édition, cependant les utilisateurs avec les droits de publier peuvent maintenant modifier les pages existantes, mais pas de créer de nouvelles pages. S'ils appuient sur le nouveau bouton de page, ils reçoivent un avertissement et ne peuvent pas aller plus loin. Messages ne sont pas affectés. Le même code pourrait facilement être appliqué pour empêcher la création de nouveaux postes aswell avec le montage juste un peu.

Hope this helps - Ackab

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top