wake-up-neo.net

Verbinden Sie Benutzer und Taxonomien

Ich möchte E-Mail-Benachrichtigungen senden, wenn neue Beiträge gespeichert werden. Benutzer können jedoch Beitragskategorien auswählen, die sie abonnieren möchten. Verfügbare Plugins sind für mich keine Lösung - ich brauche wirklich meine eigene Codebasis. Obwohl ich für WP noch nicht so weit fortgeschritten bin, gibt es damit kein Problem… aber ich weiß nicht, wie ich benutzerdefinierte Taxonomien mit Benutzern verbinden soll.

Ist es möglich, alle Kategorien auf der Benutzerprofilseite (Kontrollkästchen) aufzulisten und das Thema in der Usermeta-Tabelle zu speichern? Oder ist es besser, alle Abonnements in eine neue Tabelle einzufügen und eine dritte Pivot-Tabelle zu verwenden, um Taxonomien und Benutzer zu verbinden?

Oder eine andere Lösung? Irgendwelche Ideen sind willkommen :-) Vielen Dank!

3
suntrop

Ich bin auf ein Tutorial über ' Benutzerdefinierte Taxonomien in WordPress ' gestoßen, und es gibt ein Plugin, das darauf basiert ' Benutzer Taxonomien ', aber diese dienen zum Erstellen von Taxonomien für Benutzer. Lesen Sie das Tutorial durch, es könnte hilfreich sein.

Ich denke, Sie sprechen davon, die Taxonomien von Posts mit Benutzern zu verknüpfen. Ich denke, Sie müssen etwas wie wp_set_object_terms (Codex) verwenden, um eine Beziehung zwischen dem Benutzer- und dem Taxonomiebegriff zu erstellen.

wp_set_object_terms( $object_id, $terms, $taxonomy, $append )
  • $ object_id - wird Ihre user_id sein
  • $ terms - Entsprechende Begriffe
  • $ taxonomy - entsprechende Taxonomie
  • $ append - false. Jedes Mal, wenn ein Benutzer die Taxonomie-Begriffe speichert, die er abonnieren möchte, müssen Sie sie durchgehen und erneut hinzufügen (falls etwas deaktiviert wurde, das zuvor angekreuzt wurde).

Sie müssen sicherstellen, dass die Datenbank bereinigt wird, wenn ein Benutzer-/Taxonomie-/Taxonomiebegriff gelöscht wird. Bereinigen Sie daher das zuvor erstellte Verhältnis von Objekt- und Taxonomiebegriffen. Verwenden Sie wp_delete_object_term_relationships (Codex).

Ich hoffe, das weist Sie in die richtige Richtung.

3
dashaluna

Ich benutzte/benutze auch das Benutzer-Taxonomie-Snippet.

Ich empfehle jedoch dringend, Benutzer und Posts nicht in einer Taxonomie zu mischen. Registrieren einer Taxonomie für Benutzer UND Posts.

In der Tabelle wp_term_relationships wird nur eine object_id gespeichert. Sobald es einen Beitrag und einen Benutzer mit derselben ID gibt, wird alles durcheinander gebracht, da der Begriff dann sowohl dem Benutzer als auch dem Beitrag mit dieser ID zugewiesen wird.

Meine Lösung bestand darin, zwei Taxonomien zu registrieren, eine für jeden Typ (Beitrag, Benutzer), und den Begriffspool durch programmgesteuertes Hinzufügen/Löschen/Ändern von Begriffen in beiden Taxonomien synchron zu halten. (Mit diesen Hooks: created_term, pre_delete_term, edited_term)

0
azurgruen