it-swarm.com.de

Verknüpfen eines "Autors" mit einer benutzerdefinierten Taxonomie

Ich habe eine benutzerdefinierte Rolle, "Ministeriumsbeauftragter", der sich anmelden und eigene "Opportunities" und "Events" erstellen und verwalten kann, bei denen es sich jeweils um einen benutzerdefinierten Beitragstyp handelt.

Am vorderen Ende der Website können Sie Opportunities oder Ereignisse nach "Ministerium" filtern. Hierbei handelt es sich um eine benutzerdefinierte Taxonomie, die sowohl mit dem benutzerdefinierten Beitragstyp "Opportunities" als auch mit dem benutzerdefinierten Beitragstyp "Ereignisse" verknüpft ist.

Im Backend erstelle ich ein Konto für einen "Ministeriumsvertreter", um zu verwalten, was in seinem Profil sowie in den gefilterten Ergebnissen auf den Indexseiten "Opportunities" und "Events" angezeigt wird.

Die Herausforderung

Wenn ein "Ministeriumsvertreter" ein neues "Ereignis" erstellt, gibt er die Details ein und muss aus der benutzerdefinierten Taxonomie Folgendes auswählen:

  • Ort (eine hierarchische benutzerdefinierte Taxonomie)
  • Presenter (eine nicht hierarchische benutzerdefinierte Taxonomie)
  • Ministerium (eine nicht hierarchische Zolltaxonomie)

Sie müssen sich also im Wesentlichen selbst entscheiden. John Doe, der ein "Ministeriumsvertreter" für "Ministerium A" ist, muss sein eigenes Ministerium aus einer Dropdown-Liste auswählen (eine benutzerdefinierte Meta-Box über WP Alchemy).

Die ideale Lösung

Wenn ein neues "Ereignis" oder eine neue "Gelegenheit" von John Doe von "Ministerium A" erstellt wird, erfolgt die Zuordnung im Idealfall ohne Eingabe auf der Schnittstellenebene durch den Endbenutzer.

Also, was ich denke , ist eine Möglichkeit, ein Benutzerkonto mit einem bestimmten Begriff innerhalb einer benutzerdefinierten Taxonomie zu verknüpfen.

Ist das sinnvoll? Gibt es vielleicht eine andere Sichtweise auf das Problem? Wie ich mir vorstelle, könnte ich andere Anwendungen sehen, die dies nützlich machen könnten. Es wird ein Konto erstellt und wenn X-Benutzer einen bestimmten Inhaltstyp einbringt, werden vorab ausgewählte Begriffe automatisch mit dem von ihnen eingebrachten Inhalt verknüpft.

Alle Gedanken oder Ideen werden sehr geschätzt. Vielen Dank!

3
Jonathan Wold

Ich konnte eine Lösung finden! Zuerst habe ich Role Scoper verwendet, um ein Benutzerkonto auf einen bestimmten Begriff zu beschränken. In diesem Fall ist ein Vertreter des Ministeriums in der Taxonomie "Ministerien" auf den Namen seines Ministeriums beschränkt. Dann habe ich die WPAlchemy-Klasse verwendet, um eine benutzerdefinierte Metabox zu erstellen, in der die Begriffe aufgelistet werden. Da sie nur einen (ihre) zurückgeben, habe ich sie bereits ausgewählt. Als nächstes habe ich es über ein Admin-Stylesheet ausgeblendet.

Dies hat zur Folge, dass beim Erstellen eines neuen Ereignisses oder einer neuen Gelegenheit durch einen Ministeriumsvertreter der Name des Ministeriums bereits ausgewählt ist (obwohl dies nicht angezeigt wird) und die Verknüpfung beim Speichern hergestellt wird. Es erfordert ein wenig Arbeit seitens der Administratoren, um den Begriff einzurichten, und ich möchte immer noch eine sauberere Methode, um dasselbe zu tun, wenn es existiert.

Wenn jemand weitere Details zu meinem Workaround haben möchte, lass es mich wissen.

4
Jonathan Wold

Ich denke, Sie sollten dazu usermeta verwenden. Beispiel: Stellen Sie das 'Ministerium' des Benutzers in seinem Profil ein (im Grunde genommen handelt es sich nur um eine Liste der Begriffe in dieser Taxonomie) und speichern Sie die tax_term_id als Usermeta. Darüber hinaus sollten Sie einen neuen Begriff in der Presenter-Taxonomie erstellen und als Begriffsnamen user_login verwenden, um einen eindeutigen Begriff pro Presenter sicherzustellen. Es ist jedoch nicht erforderlich, diese tax_term_id in der usermeta zu speichern. Der Speicherort kann auch über das Profil festgelegt und in usermeta gespeichert werden. Es ist jedoch möglicherweise sinnvoller, nur die von WordPress verwendete Standardbenutzeroberfläche zu verwenden.

Sobald Sie alle Einstellungen vorgenommen haben, sollten Sie sich in die Aktion 'save_post' einhängen, um sicherzustellen, dass alle diese Begriffe auf den Beitrag angewendet werden, wenn er gespeichert wird usw.

Abgesehen davon verstehe ich nicht, warum Sie eine Taxonomie benötigen, die in direktem Zusammenhang mit dem Moderator steht, da Sie bereits nach dem Autor eines Posts fragen können.

0
John P Bloch