it-swarm.com.de

Zulassen, dass Benutzer nur ihre und keine anderen Seiten bearbeiten

Wir haben derzeit ungefähr 50 Seiten, von denen ich möchte, dass ein Benutzer (z. B. Bob, Rob, Smith) nur 1 Seite bearbeiten kann. Zum Beispiel hat bob & smith jeweils eine eigene Seite. Ich möchte nicht, dass Bob die Schmiedeseite bearbeiten kann. Ich möchte, dass Bob NUR die Seite von Bob bearbeiten kann. Es ist mir egal, ob er andere Seiten sehen kann. Wenn ich mir die Benutzerrollen anschaue, sehe ich derzeit keine Möglichkeit, dies zu tun. Ich sehe nur, wie der Zugriff auf globaler Ebene eingeschränkt werden kann.

Gibt es Plugins, die den Bearbeitungszugriff pro Benutzer einschränken, oder Rollen, die auf die Bearbeitung bestimmter Seiten beschränkt sind, und ich kann nur 1 Benutzer pro Rolle hinzufügen? Oder gab es eine Möglichkeit, dies mit Standardeinstellungen zu tun, die ich verpasst habe.

7
zealeus

Das Role Scoper Plugin kann dies ermöglichen.

0
Milo

Sie können dies zu Ihrer functions.php-Datei in Ihrer Vorlage hinzufügen, damit der Benutzer von ihm erstellte Seiten bearbeiten und Medien verwalten kann. Geben Sie einfach ihren $user_id an (d. H. 27):

function add_theme_caps() {
    // to add capability to $user_id
    $user = new WP_User( $user_id );
    $user->add_cap( 'edit_pages' );
    $user->add_cap( 'edit_published_pages' );
    $user->add_cap( 'upload_files' );
}
add_action( 'admin_init', 'add_theme_caps' );

Sie finden den $user_id eines bestimmten Benutzers unter der URL, wenn Sie einen bestimmten Benutzer auf der Wordpress-Administrationsseite bearbeiten.

Siehe die vollständige Liste der Wordpress-Funktionen .

Wenn Sie die integrierte Rolle contributor lieber ändern möchten, damit alle Benutzer mit der Rolle contributor die von ihnen erstellten Seiten ändern können:

function add_theme_caps() {
    // to add capability to the role `contributor`
    $role = get_role( 'contributor' );
    $role->add_cap( 'edit_pages' );
    $role->add_cap( 'edit_published_pages' );
    $role->add_cap( 'upload_files' );
}
add_action( 'admin_init', 'add_theme_caps' );
9
Brendan Nee

Role Scope ist sehr mächtig, aber ich denke, es ist übertrieben. Wenn Sie Bob und Smith die Rolle des Autors zuweisen (eine der Standardrollen), können sie nur ihre eigenen Beiträge bearbeiten.

4
Adam Rice

Sie können auch einfach die Tabelle WP bearbeiten. Es schien, als ob phpAdmin ein schnellerer Weg sein würde.

Der Tisch ist

wp_usermeta

Suchen Sie nach der user_id und ändern Sie den Wert für

wp_capabilities

und setze es auf so etwas wie

a:4:{s:11:"contributor";b:1;b:1;s:10:"edit_pages";b:1;s:20:"edit_published_pages";b:1;s:12:"upload_files";b:1;}

Ich fand http://www.unserialize.me/ als Hilfe, um sicherzustellen, dass die Serialisierung korrekt war (und ich gehe davon aus, dass es auch andere Websites gibt)

0
Fred Andrews