it-swarm.com.de

Anpassen von Administrationsbeiträgen basierend auf dem angemeldeten Benutzer

Wir bauen eine Seite mit 10-15 Fotografen, die Inhalte veröffentlichen. Es wird einen gemeinsamen Blog geben + jeder Administrator hat sein eigenes Portfolio zu verwalten. "Portfolio-Galerien" und "Portfolio-Seiten" sind zwei benutzerdefinierte Typen, die mit der benutzerdefinierten Taxonomie "Artist" kategorisiert werden.

Wir möchten alle Admins:

  1. um alle Blog-Beiträge sehen zu können
  2. in der Lage sein, im Blog zu posten
  3. sie können neue "Portfolio-Galerien" und "Portfolio-Seiten" hinzufügen und sie automatisch mit der "Künstler" -Taxonomie mit demselben Wert wie ihr Name versehen lassen (dh John Smith kann nur Portfolio-Seiten und Galerien erstellen, die automatisch mit * gekennzeichnet sind. Künstler = "John Smith" *)
  4. portfolio-Seiten und Galerien, die zu ihnen gehören, können nur angezeigt werden (d. h. John Smith sieht nur Portfolio-Seiten und Galerien, die mit * Artist = "John Smith" * gekennzeichnet sind).

Schließlich möchten wir auch ein paar "Superadministratoren" haben, die Zugriff auf jeden Beitrag auf der Website haben.

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


EDIT Auf @ בניית אתרים Vorschlag hin habe ich ein bisschen mehr über Rollen und Fähigkeiten gelesen und festgestellt, dass Wordpress bereits die Möglichkeit zur Einschränkung von Funktionen unterstützt Benutzer können die Beiträge anderer Benutzer nicht bearbeiten. Alles, was ich tun musste, war, alle Benutzer auf Autoren anstatt auf Editoren umzustellen.

In Kürze werden # 1, # 2 und # 4 aus der obigen Liste aufgelöst. Ich muss noch # 3 zum Arbeiten mit save_post bringen.

Kurz: Ja, das kannst du.

um alle Blog-Beiträge sehen zu können

die Standardeditorrolle kann es verwalten, alle Beiträge anzuzeigen

in der Lage sein, im Blog zu posten

auch hier kann die Standardeditorrolle alle Beiträge anzeigen

in der Lage sein, neue "Portfolio-Galerien" und "Portfolio-Seiten" hinzuzufügen und diese automatisch mit> der Taxonomie "Künstler" markieren zu lassen, die denselben Wert hat wie ihr Name (d. h. John Smith).

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

portfolio-Seiten und Galerien, die zu ihnen gehören, können nur angezeigt werden (d. h. John Smith sieht nur Portfolio-Seiten und Galerien, die mit Artist = "John Smith" gekennzeichnet sind).

wenn Sie Beitragstypen registrieren, können Sie Funktionen für diesen Beitragstyp definieren , und Sie müssen edit_others_posts als false definieren. Stellen Sie außerdem sicher, dass Ihr Beitragstyp den Autor unterstützt.

Schließlich möchten wir auch ein paar "Superadministratoren" haben, die Zugriff auf jeden Beitrag auf der Website haben.

die Standard-Administratorrolle ist in diesem Fall Ihr Freund. Grundsätzlich betreffen die meisten Ihrer Probleme Rollen und Funktionen

hoffe das hilft

3
Bainternet

Wenn ich derjenige sein werde, der diese Site erstellt, ist dies das, was ich für die "Anzeigen von Portfolio-Seiten und Galerien, die dazu gehören" tun werde:

1.) Ich erstelle eine neue Seitenvorlage, z. B. template-portfolio.php in Ihrem Themenverzeichnis, die ungefähr 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 betrachten und wenn es funktioniert, werde ich mich in den Hintergrund klopfen;)

Sie können hier eine Variante des Ablaufs für Ihre anderen Anliegen durchführen.

2
Ardee Aram