Einem Benutzer erlauben, verschiedene Postkategorien zu abonnieren?

Gibt es eine Möglichkeit für mich, auf einer Kategorieschema-Seite ein Kontrollkästchen zu aktivieren, bei dem die Beiträge dieser Kategorie auf einer separaten Seite angezeigt werden?

Ich arbeite an einem System für meine Arbeit, bei dem jeder Benutzer in der Lage sein wird, eine Kategorie von Post ‘zu abonnieren’ und dann auf einer ‘Meine Liste’ Seite Beiträge aus den Kategorien anzeigt, die sie markiert haben.

Ich bin auf ein paar Posts gestoßen, die dem nahe stehen, aber keine wirkliche Antwort geben.

Ein Vorschlag war, add_meta_data / update_meta_data zu verwenden, die ich gerade betrachtet habe. Ich habe es so, dass benutzerdefinierte Metadaten hinzugefügt wurden, aber um es zu ändern, konnte ich nur überschreiben. Was ich dachte, war, dass, wenn ein Kontrollkästchen aktiviert ist, es die Kategorie-ID zu einer Liste von anderen Kategorie-IDs hinzufügt und die ID entfernt. Idealerweise denke ich, es wäre am besten, wenn es ein Feld / eine Spalte wäre, die durch Kommas getrennte Kategorie-IDs speichert, die einfach in eine wp_query eingezogen werden könnten. Wenn es einen Weg gibt, dies zu tun, dann wäre es in Ordnung, den Rest zu erledigen.

Der Benutzerprozess wäre also:

  1. Gehe zur Kategorieseite
  2. Klicken Sie auf das Kontrollkästchen, um eine Kategorie hinzuzufügen oder zu entfernen
  3. Rufen Sie die Seite “Meine Liste” auf, um Beiträge aus markierten Kategorien anzuzeigen

Ich hoffe, das ist klar genug, jede Hilfe wäre sehr willkommen (auch nur ein Anstoß in die richtige Richtung). Vielen Dank.

EDIT: Entschuldigung, anscheinend war ich nicht klar genug. Dies ist kein Mailingsystem.

Ich werde es versuchen und es besser erklären.

Post 01 hat Kategorie A
Post 02 hat Kategorie B
Post 03 hat Kategorie A
Post 04 hat Kategorie C

Auf der Kategorie Archivseite für Kategorie A werden Post 01 und Post 03 angezeigt. In der Seitenleiste befindet sich ein Kontrollkästchen, das nach dem Klicken auf diese Kategorie “abonniert”. (Ich verwende subscribe als allgemeine Möglichkeit, das Verhalten zu beschreiben, nicht als einen bestimmten Begriff)

Nehmen wir an, der Benutzer hat in diesem Beispiel auf das Kontrollkästchen für die Kategorien A und C geklickt.

Auf einer separaten Seite (“Meine Liste”) werden die Beiträge aller Kategorien, die ein Benutzer abonniert hat, angezeigt. In diesem Fall wären das Post 01, Post 03 und Post 04.

Solutions Collecting From Web of "Einem Benutzer erlauben, verschiedene Postkategorien zu abonnieren?"

Das wurde noch nicht 100% getestet, aber die Grundlogik ist da. Die IF prüft auf das Vorhandensein der catID und wenn sie nicht vorhanden ist; Benutzermeta mit aktueller Liste + Kategorie-ID aktualisieren.

Müssen einige weitere Arbeiten zum Entfernen von der Liste tun, aber es ist der gleiche Prinzipal. Überprüfen Sie die Zeichenfolge für die Kategorie-ID. Wenn vorhanden, aus String entfernen und als neue Zeichenfolge speichern. Aktualisieren Sie Benutzer-Meta mit dieser Zeichenfolge.

global $current_user; get_currentuserinfo(); $user_id = $current_user->ID; $currentList = $current_user->subList; $cat_id = get_query_var('cat'); $catStr = " " . $cat_id . ","; $update; if (strpos($currentList,$catStr) !== false) { echo 'ALREADY IN LIST'; }else{ echo 'ADDED TO LIST'; $update = $currentList . $catStr; update_user_meta($user_id, 'subList', $update); }