Je suis sur le point d'écrire un plugin (assez simple) pour les tickets de support, où un utilisateur s'inscrit, ajoute un ou plusieurs sites et ajoute des tickets de support sous chacun des sites.
Ma question concerne la manière de structurer cela sans s’appuyer sur d’autres plugins pour la fonctionnalité:
En termes de meilleure pratique, ai-je le droit d'utiliser des auteurs et des rôles pour la visibilité et des CPT pour des sites et des tickets?
Et comment créer la relation entre Site et Ticket? Je sais qu’il existe un plugin Post 2 Posts, en plus d’autres (tels que CPTR), qui gèrent les relations entre les types de publication, mais je préférerais de loin éviter de compter sur les autres fonctionnalités principales de ce plugin.
Edit: J'essaie de voir si des taxonomies personnalisées pourraient jouer un rôle dans ce casse-tête, mais je ne vois pas comment cela pourrait s'intégrer. Toutes les suggestions sont les bienvenues.
Les types de publications personnalisées sont une bonne solution pour ce que vous essayez d’atteindre. En fait, dans presque tous les cas, où les types Post
de Page
ne correspondent pas à votre cas d'utilisation, alors Les types de publication personnalisés seront. Ils doivent être considérés davantage comme Types de contenu personnalisésplutôt que comme mentionné ci-dessus. Cela donne un peu de signification à leur but.
Avez-vous besoin du plugin Posts 2 Posts de Scribu ? N ° Bon plugin , en fait le seul recommandé systématiquement pour associer une publication à une ou plusieurs autres, mais dans votre cas, vous traitez avec un client (client), son les détails, qui incluent un "site" comme vous le dites si bien ...
Ceci peut être manipulé avec,
La manière dont vous créez la relation entre Siteet Ticketdépend de ce que vous proposez au client. S'agit-il d'un site par utilisateur ou de plusieurs sitespar utilisateur?
Quoi qu’il en soit, je pense jusqu’à présent que l’utilisateur Sitesdevrait être ajouté en tant que métadonnées d’utilisateur, que vous leur permettiez ainsi de créer UNou NOMBREUXsites, à vous de choisir. Lorsqu'un utilisateur héberge un ticket, vous pouvez lui proposer un menu déroulant pour sélectionner le site auquel le ticket est applicable. Ce menu déroulant, par exemple (menu de sélection), extrairait ses données des champs méta de l'utilisateur correspondant à cet utilisateur.
Comment vous associez cela à l’écran d’édition Type de message personnalisé est assez simple, grâce à l’utilisation de méta personnalisé Zones qui vous permettent d’ajouter une interface utilisateur fonctionnelle à vos champs personnalisés .
Je recommande que vous examiniez deux classes de méta-boîtes personnalisées qui faciliteront le processus de création de méta-boîtes;
Il y en a d'autres, mais ce sont deux que j'ai utilisés et que j'utilise toujours de manière cohérente. Je suis plus partisan de WPAlchemy car c’était la première classe de ce type que j’ai commencé à utiliser en masse, mais j’utilise maintenant les deux de manière interchangeable. Certains arguments ont été avancés contre les deux, ce qui est mieux et pourquoi, mais ... C'est pour que les types connaisseurs de code s'inquiètent de :)
Les taxonomies personnalisées peuvent également jouer un rôle, mais vous pouvez penser à utiliser des taxonomies comme vous le feriez. Par exemple, vous pouvez utiliser une taxonomie pour classer l’urgence du ticket,
- High priority
- Medium priority
- Low priority
- Inquiry only
- Bug report
- Suggestion
...peu importe.
Vous pouvez même fournir les éléments ci-dessus via des champs méta post, et pas seulement des taxonomies . Certaines classes de méta-boîtes vous permettent d'intégrer facilement des taxonomies personnalisées directement dans la conception de la méta-boîte. Sinon, vous pouvez utiliser la méta-boîte de taxonomie normale qui s'affiche une fois enregistrée et associée à votre type de publication. Les possibilités sont un peu infinies mais ne vous laissez pas prendre aux taxonomies , mais rappelez-vous qu’elles seront utiles pour classer les informations et celles des utilisateurs. peuvent utiliser collectivement sur une base par billet.