Hierarchie und Zugriffskontrolle für Custom Post Types (CPT)

Ich möchte ein neues System aufbauen, das auf WordPress basiert, um meine Inhalte zu verwalten. Ich bin neu in WordPress und habe frühere Systeme von Grund auf mit PHP / mySQL geschrieben.

Leider ist es kein einfaches Blog- oder Webseitensystem. Mein “echter” Inhalt (im folgenden Beispiel mit Cs bezeichnet) ist in eine Baumstruktur eingeteilt. Die Ebenen A und B nur Namen und eine Beschreibung und sollten attachments . Von der Root-Ebene ausgehend gibt es immer eine 1: n-Beziehung zur nächstniedrigeren Ebene.

 / ├── A1 │  ├── B1 │  │  ├── C1 │  │  └── C2 │  └── B2 │  └── C3 └── A2 ├── B3 │  └── C4 ├── B4 │  ├── C5 │  └── C6 └── B5 ├── C8 └── C9 

Meine reale Struktur hätte eine weitere Ebene, also ist dies ein vereinfachtes Beispiel.

Da es eine klare Hierarchie gibt, habe ich darüber nachgedacht, Post-Typ- pages für meine Inhalte zu verwenden. Aber ich habe gelesen, dass Seiten einige Nachteile haben, zB unterstützen sie keine Feeds, Tags oder komplexere Taxonomien. Also habe ich über die Verwendung von posts nachgedacht, aber dies passt nicht wirklich zum Inhalt des Typs C und so entschied ich mich, einen neuen benutzerdefinierten Post-Typ (CPT) zu erstellen. Es hat viele zusätzliche Felder, die als Meta-Inhalt gespeichert werden. Ich habe dafür ein eigenes Plugin geschrieben – das geht soweit.

Wenn es um die Hierarchie geht, weiß ich nicht, wie ich das wirklich machen soll. Ich habe verschiedene Ansätze:

  1. Verwenden Sie das Standardkategoriesystem für die Hierarchie; Es kann der unterstützten Taxonomie des CPT hinzugefügt werden
  2. Erstellen Sie eine eigene hierarchische Taxonomie für die Hierarchie
  3. Verwenden Sie andere CPTs für jede Ebene und verknüpfen Sie sie manuell mit einer Hierarchie oder tun Sie es irgendwie automatisch

Was ich auch tun möchte, ist den Zugriff auf den Inhalt zu beschränken, dh ich möchte den Zugriff auf den Inhalt basierend auf Level A gewähren. Als Beispiel: user1 kann A1 und A2 lesen, user3 kann A1 lesen und schreiben, user3 kann nur A2 lesen. user3 sollte auf A2 und alle folgenden Inhalte zugreifen können, dh B3 , B4 , B5 , C4 , C5 , …

Darüber hinaus sollte es einigen Benutzern erlaubt sein, die Hierarchie auf den Ebenen A und B , wobei anderen Benutzern nur erlaubt werden sollte, neuen Inhalt in der gegebenen Hierarchie zu lesen / schreiben und die Struktur nicht zu ändern. Ist dies mit den Standardbenutzerrollen möglich?

Ich würde mich freuen, ein paar Tipps zu bekommen, wie ich meine Inhalte kategorisieren soll. Warum ich mit meinen derzeitigen Ansätzen festhalte:

Ansatz 1: Kann nicht funktionieren, da ich keine Option sah, attachments mit Kategorien zu verknüpfen.

Ansatz 2: Wahrscheinlich kein Vorteil gegenüber Ansatz 1. Aber ich könnte die Standard-Kategorien immer noch verwenden, um einige Inhalte auf pages für alle Benutzer hinzuzufügen und so klar von der gegebenen Struktur zu trennen. Ich denke an Hilfeseiten usw.

Ansatz 3: Auch wenn die Struktur der Ebenen A und B nach der Erstellung beendet wird, sollte sie dennoch flexibel und erweiterbar sein. Das manuelle Verknüpfen der Objekte wäre also in Ordnung, aber es scheint nicht “sauber” und der richtige Weg zu sein. Im Allgemeinen scheint es nicht so einfach zu sein, eine Hierarchie verschiedener CPTs zu erstellen.

Kannst du mir bitte Hinweise geben, wie man es in Best Practice macht? Oder können Sie Empfehlungen für Plugins geben, die meine Anforderungen umsetzen?

Solutions Collecting From Web of "Hierarchie und Zugriffskontrolle für Custom Post Types (CPT)"