J'utilise le plugin Posts 2 Posts afin de créer une relation entre les enseignants et les cours qu'ils enseignent.
faculty
dans lequel des enseignants sont ajoutés.Un article faculty
a un champ méta personnalisé intitulé email_address
.
La page de classes est un type de message personnalisé de class
dans lequel des classes sont ajoutées.
Le plugin Posts 2 Posts me permet de relier les deux types de post, class
et faculty
ensemble. Ce faisant, je peux récupérer les email_address
et title
d'un enseignant et l'afficher sur la page class
, ainsi qu'un lien vers la page class
de la page de l'enseignant.
En dehors de cela ... Les enseignants pourront créer des comptes en utilisant le courrier électronique de leur école. Cette même adresse e-mail doit correspondre au email_address
saisi par un administrateur de la publication faculty
.
Je souhaite autoriser les enseignants à se connecter et à ne pouvoir modifier que la page class
associée à la page faculty
comportant un méta-champ personnalisé email_address
qui correspond à leur adresse de messagerie.
Je sais que cela est possible, car le plugin Role Scoper vous permet de le faire. La seule différence est que, dans le plug-in Role Scoper, vous devez accéder manuellement aux paramètres, afficher toutes les pages associées au type de message class
, sélectionner un utilisateur par nom d'utilisateur (et non par courrier électronique), puis les ajouter à cette page. Il est fastidieux et pénible pour un utilisateur non technique d’agir de la sorte.
Mon chemin vous permettrait de créer une faculty
avec un email_address
spécifique et de la lier à une page class
. Une fois qu'un utilisateur s'est connecté avec une adresse e-mail correspondante, il verrait cette page class
à modifier.
J'espère que tout cela a du sens, je ne sais pas vraiment par où commencer et j'ai passé une demi-journée à chercher des réponses ... tout ce qui nous ramène à Role Scoper (ce que je ne veux pas faire).
Comment autoriser un utilisateur à modifier une seule page, liée à une autre page, comportant un méta-champ personnalisé contenant une adresse électronique correspondant à la leur?
Mon garçon, ça a l'air compliqué ... Merci d'avance pour toute aide!
faculty
post où le champ méta personnalisé email_address
correspond au courrier électronique de l'utilisateurfaculty
class
qui sont liés (par l’intermédiaire des messages 2 messages) à cet ID faculty
.class
post (s).Bien que le processus semble assez simple, je ne sais pas comment donner à un utilisateur la permission de modifier une page de type publication personnalisée. Encore une fois, Role Scoper est capable de le faire, la question suivante est de savoir comment.
Je pense que le moyen le plus simple de le faire serait de donner aux utilisateurs un rôle Auteur personnalisé lors de leur inscription. Les fonctions du rôle Auteur par défaut sont qu'il ne peut créer et éditer que ses propres publications. Vous devrez le personnaliser pour activer les fonctionnalités de votre type de message personnalisé 'classe', pas seulement les messages Vanilla. Vous pouvez associer l'action user_register
à une requête pour un message de professeur avec méta correspond au courrier électronique de l'utilisateur enregistré, puis le met à jour pour lui attribuer votre rôle spécial si un poste correspondant est trouvé dans la faculté. Pour les messages de classe, raccordez save_post
à ajoutez une connexion entre ce message et la page faculté de l'utilisateur chaque fois qu'il crée un nouveau post de classe.
Au lieu de Faculty, pourquoi ne pas ajouter une méta utilisateur et utiliser Posts 2 Posts pour associer des publications à des utilisateurs. J'ai utilisé cette approche pour créer avec succès plusieurs sites à base d'adhésion. De cette façon, vous pourrez vous appuyer sur toutes les fonctions et tous les titres basés sur wp_user de Nice.