it-swarm.com.de

Admin zu Benutzerhinweisen - Best Practices?

Ich versuche, bestimmte Funktionen aus meinen vb-Foren in meiner WordPress-Installation zu replizieren. Insbesondere kann ich "Benutzerbenachrichtigungen" erstellen, die im Frontend der Website angezeigt werden.

Grundsätzlich kann ich einen Beitrag erstellen, der nur nicht angemeldeten Benutzern, Moderatoren, Administratoren usw. angezeigt wird.

Mein Angriffsplan besteht darin, einen benutzerdefinierten Post-Typ zu erstellen, damit ich meine Benachrichtigungen einfach organisieren kann. Ich arbeite sehr gerne mit Posttypen, und das scheint logisch.

fragen:

2) Wenn ich einen neuen "Benachrichtigungsposten" erstelle, wie kann ich ihn am besten "kategorisieren", um eine bestimmte Gruppe anzusprechen, d. H. Nicht angemeldet, Moderator, Abonnent usw.?

Ich habe darüber nachgedacht, eine benutzerdefinierte Taxonomie zu verwenden, damit ich einen Begriff wie "Moderator" auswählen kann, um die Posts zu kategorisieren.

Wo ich ein bisschen hängen bleibe, ist, wie ich den Beitrag am besten im Frontend anrufe, ohne auf eine Menge if/else-Anweisungen zurückzugreifen. (Es kann und wird ungefähr 20 Bedingungen auf einer ziemlich stark frequentierten Site geben.)

wenn tax_term = moderator dann zeige x an, sonst wenn not_logged_in zeige y an, sonst ...

2) Eine wichtige Bedingung ist, dass die Benachrichtigungen Benutzern angezeigt werden, die in den letzten 30 Tagen kein bestimmtes Beitragstyp-Forenthema veröffentlicht haben.

* Kann mir jemand eine Funktion zur Verfügung stellen, die diese spezielle Bedingung erfüllt?

endlich: Wenn es einen besseren Weg gibt, mich dem anzunähern, bin ich sehr offen für andere Ideen. Ich habe das Plugin-Verzeichnis nach Inspiration durchsucht, aber wirklich nichts gefunden.

vielen Dank

3
shawn

Ich sehe das nicht als übermäßig schwer an. Verwenden Sie einfach is_user_logged_in() und current_user_can() . Wenn der Benutzer nicht angemeldet ist, können Sie natürlich die Überprüfung auf Rollen überspringen. Ich bin mir nicht sicher, aber die Benutzerdaten werden wahrscheinlich im Speicher gespeichert, sodass keine zusätzlichen Datenbankaufrufe und dergleichen erfolgen.

2
Rarst