So passen Sie Admin-Posts basierend auf dem angemeldeten Benutzer an

Wir bauen eine Website auf, auf der 10-15 Fotografen Inhalte veröffentlichen werden. Es wird einen gemeinsamen Blog geben + jeder Admin hat sein eigenes Portfolio zu verwalten. “Portfolio-Galerien” und “Portfolioseiten” sind zwei benutzerdefinierte Typen und sie sind kategorisiert mit “Artist”, einer benutzerdefinierten Taxonomie.

Wir möchten alle Admins:

  1. um alle Blog-Posts sehen zu können
  2. in der Lage sein, im Blog zu posten
  3. in der Lage sein, neue “Portfolio-Galerien” und “Portfolioseiten” hinzuzufügen und sie automatisch mit der “Künstler” -Taxonomie mit dem gleichen Wert wie ihren Namen zu versehen (dh John Smith kann nur automatisch mit * gekennzeichnete Portfolioseiten und Galerien erstellen) Künstler = “John Smith” *)
  4. in der Lage sein, nur Portfolioseiten und Galerien zu sehen, die zu ihnen gehören (dh John Smith wird nur Portfolioseiten und Galerien sehen, die mit * Künstler = “John Smith” * markiert sind)

Schließlich möchten wir auch ein paar “Super Admins” haben, die Zugang zu jedem Beitrag auf der Website haben.

Irgendwelche Ideen, wie man so etwas baut? Ist es überhaupt machbar?


EDIT Following @ בנבנית אארםם Vorschlag Ich habe ein bisschen mehr über Rollen und Fähigkeiten gelesen und festgestellt, dass WordPress bereits out of the Box unterstützt die Möglichkeit, Benutzer von Bearbeiten der Beiträge anderer Menschen zu beschränken. Alles, was ich tun musste, war, alle Benutzer zu Autoren anstelle von Editoren zu machen .

In Kürze werden # 1, # 2 und # 4 aus der obigen Liste aufgetriggers. Ich muss immer noch # 3 mit save_post .

Solutions Collecting From Web of "So passen Sie Admin-Posts basierend auf dem angemeldeten Benutzer an"

Kurz: Ja, das kannst du tun.

um alle Blog-Posts sehen zu können

Die Standard-Editor-Rolle kann alle Beiträge sehen

in der Lage sein, im Blog zu posten

Auch hier kann die Standard-Editor-Rolle alle Beiträge sehen

in der Lage sein, neue “Portfolio-Galerien” und “Portfolioseiten” hinzuzufügen und sie automatisch mit der “Künstler” -Taxonomie mit dem gleichen Wert wie ihren Namen zu versehen (zB John Smith).

Dazu können Sie den save_post Hook verwenden und den Benutzernamen automatisch als Taxonomie hinzufügen.

nur Portfolio-Seiten und Galerien anzeigen können, die zu ihnen gehören (dh John Smith sieht nur Portfolio-Seiten und Galerien, die mit Künstler = “John Smith” markiert sind)

Wenn Sie Post-Typen registrieren, können Sie functionen für diesen Post-Typ definieren, und Sie müssen edit_others_posts als false definieren. Stellen Sie außerdem sicher, dass Ihr Post-Typ den Autor unterstützt.

Schließlich möchten wir auch ein paar “Super Admins” haben, die Zugang zu jedem Beitrag auf der Website haben.

Die Standardadministratorrolle ist in diesem Fall Ihr Freund. Die meisten Ihrer Probleme betreffen Rollen und functionen

hoffe das hilft

Wenn ich derjenige bin, der diese Website erstellt, mache ich das für die “Portfolio-Seiten und Galerien, die zu ihnen gehören”:

1.) Ich erstelle eine neue Seitenvorlage, sagen Sie template-portfolio.php in Ihrem Themes-Verzeichnis, das etwa so aussieht:

 < ?php /* Template Name: Portfolio */ if(is_user_logged_in() && current_user_can('manage_options')) //ensure that it is an admin, as per requirements { global $current_user; get_currentuserinfo(); //information shall be stored in $current_user // echo 'User ID: ' . $current_user->ID . "\n"; query_posts(array('Artists' => $current_user->display_name)); //do the loop here. } else { wp_redirect(get_bloginfo('url')); //go to home page if not logged in or if not admin } ?> 

2.) Ich würde eine Seite in WordPress erstellen und Portfolio als Seitenvorlage zuweisen

3.) Ich würde die Seite mit der Seitenvorschau anzeigen, und wenn es funktioniert, klopfe ich mir selbst in den Rücken;)

Sie können hier eine Variante des Flusses für Ihre anderen Anliegen machen.