OK je cherche le meilleur moyen d'attaquer ça.
Je suis très à l'aise avec PHP et la création de types d'articles personnalisés avec des champs méta personnalisés dans WordPress.
Voici ce que je cherche à faire:
J'ai besoin d'aide sur les points suivants:
Idéalement, je préférerais que tout cela ait été fait à partir de wp-admin, mais je suppose que je pourrais avoir besoin de construire un front-end pour obtenir le contrôle fini que je recherche.
Toute entrée est grandement appréciée.
Sincères amitiés
Utilisez le plugin " Membres " de Justin Tadlock. Il vous donne la possibilité de créer de nouveaux rôles et de modifier des rôles existants, ainsi que d'ajouter des fonctionnalités personnalisées. Tout ce que vous devez faire peut être réduit en quelques clics.
Je sais que dans votre commentaire sur la réponse de ZaMoose, vous avez dit que vous "écrivez moi-même la fonctionnalité pour que je puisse tout contrôler". Cela manque l’intérêt des logiciels open source. Justin Tadlock a publié son plugin afin que vous puissiez l'utiliser avec précision afin que vous puissiez avoir un contrôle complet sur tout.
Si vous voulez vraiment vraiment vouloir réinventer la roue, en gaspillant potentiellement des centaines d'heures de votre temps, je ne peux pas vous arrêter, mais vous pouvez au moins vous épargner le problème et utiliser le plugin de Tadlock pour apprendre à le faire. ce que tu veux.
Une fois que vous avez un plugin qui fait ce que vous voulez, vous devez changer l’indicateur 'map_meta_cap'
en true
et l’indicateur 'capability_type'
dans votre fonction d’enregistrement de type de publication afin qu’il indique autre chose que 'post', 'page' ou toute autre. type 'réservé'. Ensuite, dupliquez toutes les fonctionnalités liées aux publications (par exemple, edit_posts
, edit_others_posts
, publish_posts
, etc.), en utilisant votre type de fonctionnalité au lieu de publications. Assurez-vous d'attribuer toutes ces autorisations aux administrateurs (vous ne pourrez pas voir le type de publication jusqu'à ce que vous le fassiez), puis créez votre rôle en imitant les capacités du rôle de "contributeur" pour votre type de publication.
Par exemple, supposons que votre type de capacité était foobars
, vous voudriez donner aux 'propriétaires de boutique' les capacités edit_foobars
, delete_foobars
et read
. De cette façon, ils peuvent créer leurs propres brouillons et les supprimer, mais comme ils ne disposent pas des capacités publish_foobars
, ils doivent les soumettre pour approbation. Parce qu'ils n'ont pas edit_published_foobars
, toutes les modifications apportées à un foobar approuvé doivent être approuvées.
Le type de poste de registre a un paramètre appelé "capacités" afin que vous puissiez avoir par exemple
'capability' => 'organize_shop',
http://codex.wordpress.org/Function_Reference/register_post_type
Pour créer un nouvel utilisateur/rôle/fonctionnalité, vous pouvez utiliser add_role, add_cap, par exemple, pour vous aider à démarrer:
// Add the role to WordPress list of roles
// Then add the capability 'organize_shop' to the 'shop_owner' role
$role = add_role( 'shop_owner', 'Shop Owner', ['edit_posts' => true]));
$role->add_cap( 'organize_shop' );
// If 'shop_owner' already exists make `$wp_roles` visible then
// add the capability 'organize_shop' to the 'Show Owner' role
public $wp_roles;
$wp_roles->add_cap( 'shop_owner', 'organize_shop' );
Avez-vous envisagé de consulter Formulaires Gravity ou TDO Mini Forms pour gérer la soumission de contenu proprement dite? Chacune d'entre elles possède des fonctionnalités qui vous permettront de gérer correctement le contenu soumis par les utilisateurs.
Pour y parvenir plus facilement et plus efficacement en installant un plug-in appelé "Advance Access Manager", vous n’aurez pas à écrire la fonctionnalité, mais vous aurez toujours un niveau de contrôle décent sur les utilisateurs, les rôles et ce qu’ils peuvent faire. La plupart des choses que vous voulez peuvent être réalisées avec ce plugin.