Ich möchte einige Themen als Unterthemen anderer Themen einrichten.
Nehmen wir an, ich habe „Thema A“. Auf der Seite von Thema A werde ich einen Button zum „Erstellen eines Unterthemas“ einfügen. Dadurch kann der Benutzer ein neues Thema, „Thema B“, erstellen. Thema B wäre dann ein Kindthema von Thema A.
Das bedeutet aus Sicht der Benutzererfahrung:
Ich könnte auf der Seite von Thema A auch einen Button „Alle Kindthemen von Thema A anzeigen“ einfügen. Dieser würde zu einer Liste der Kindthemen von Thema A führen, wie zum Beispiel Thema B und alle anderen Themen, die Kinder von Thema A sind.
Was ist der beste Weg, dies umzusetzen? (Ich gehe davon aus, dass ich dies in einem Plugin lösen muss, was für mich in Ordnung ist.)
Hinweis: Ich suche nur nach einer Ebene von Unterthemen, nicht nach mehreren Ebenen (several).
Hier sind einige Details zu den Möglichkeiten, die ich in Betracht ziehe:
Kategorien (obwohl dies wahrscheinlich nicht der beste Weg ist)
Kategorien würden eine ähnliche Funktionalität bieten, wie ich sie im Sinn habe. Allerdings könnte dies zu aufwendig werden, sobald eine beträchtliche Anzahl von Themen mit Unterthemen vorhanden ist (es scheint übertrieben, im Grunde für jedes übergeordnete Thema eine neue Kategorie zu erstellen).
or
Tags
Das Beste, was mir derzeit einfällt, ist die Verwendung von Tags. Wenn du also auf „Unterthema erstellen“ bei Thema A klickst, wird ein neues Thema geöffnet, und ich füge programmatisch ein verstecktes Tag hinzu, wie zum Beispiel „Thema-A“, das auf Thema A verlinkt. Wenn du dann auf „Alle Unterthemen von Thema A anzeigen“ klickst, wird nach dem Tag „Thema-A“ gesucht.
Das wirkt ziemlich sauber, abgesehen davon, dass es sehr viele Tags geben wird (im Grunde eines pro Hauptthema, was sehr viele werden könnten).
or
Benutzerdefinierte Felder für Themen
Eine weitere Möglichkeit, die ich in Betracht gezogen habe, besteht darin, ein benutzerdefiniertes Feld für Themen zu erstellen, das ein Array der IDs der Unterthemen dieses Themas enthält. Das könnte ebenfalls funktionieren, wäre aber wahrscheinlich etwas aufwendiger zu programmieren.
Zum Beispiel müsste ich das benutzerdefinierte Feld des Hauptthemas erst aktualisieren, nachdem ein Unterthema erstellt wurde. Außerdem müsste ich eine neue Art von Suche implementieren – die Suche nach allen Themen innerhalb des benutzerdefinierten Feld-Arrays des Hauptthemas – anstatt einfach die vorgefertigte Tag-Suchfunktion zu nutzen.
Gibt es noch eine andere Lösung, die ich übersehen habe?