Dies kann für andere als mich offensichtlich sein. Ich denke, ich erinnere mich, dass ich irgendwo gelesen habe, dass ein "Bild" tatsächlich eine Form von "Post" ist.
- Ich habe einen benutzerdefinierten Beitragstyp namens "Auflistung".
- Ich habe eine benutzerdefinierte WP-Rolle von "Client"
Wenn ich als "Client" angemeldet bin und das Medien-Popup starte, zu einem Bild navigiere, auf "Anzeigen" klicke, um es zu öffnen, und dann auf "Bild bearbeiten" klicke, erhalte ich eine -1. Dh. nichts anderes wird angezeigt als "-1".
Ich kann dieses Problem beheben, indem ich meiner benutzerdefinierten Rolle die Funktion "edit_posts" zuweisen. Warum ist das? Sobald ich dies tue, habe ich ein anderes Problem: Die Benutzerrolle "Client" hat jetzt Zugriff auf Beiträge, Kommentare und Tools, die ich nicht möchte.
Vielleicht habe ich meinen benutzerdefinierten Beitragstyp mit den Funktionen nicht richtig eingerichtet? Wie kann ich dem "Kunden" erlauben, die Bilder zu bearbeiten, aber keinen Zugriff auf Beiträge zu haben?
$args = array(
'label' => 'Listing',
'description' => '',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'map_meta_cap' => true,
'capability_type' => 'listing',
'capabilities' => array(
'edit_post' => 'edit_listing',
'read_post' => 'read_listing',
'delete_post' => 'delete_listing',
'edit_posts' => 'edit_listings',
'edit_others_posts' => 'edit_others_listings',
'publish_posts' => 'publish_listings',
'read_private_posts' => 'read_private_listings',
'delete_posts' => 'delete_listings',
'delete_private_posts' => 'delete_private_listings',
'delete_published_posts' => 'delete_published_listings',
'delete_others_posts' => 'delete_others_listings',
'edit_private_posts' => 'edit_private_listings',
'edit_published_posts' => 'edit_published_listings',
),
'menu_position' => 5,
'hierarchical' => false,
'has_archive' => false,
'rewrite' => array('slug' => 'listing'),
'query_var' => true,
'supports' => array('title'),
'labels' => $labels
);
quelle
delete_listing
delete_listings
delete_published_listings
edit_listing
edit_listings
edit_published_listings
publish_listing
publish_listings
read
read_listing
upload_files
Und ich brauche anscheinend Folgendes, um die Bilder zu bearbeiten und zu löschen. Dachte, diese würden zu edit_listings und delete_listings neu zugeordnetedit_posts
delete_posts
Antworten:
Wenn ich zu erraten: denn Bilder sind Attachments und Anhänge sind ein Post-Typ . Um ein Bild zu bearbeiten, das ein Anhang ist, der ein Beitrag ist, ist daher die
edit_post
Fähigkeit erforderlich .BEARBEITEN
Haben Sie Ihre
capability
Mapping-Array-Schlüssel / -Werte nicht umgekehrt?zB hast du
'edit_posts' => 'edit_listings'
. Sollte es nicht stattdessen sein'edit_listings' => 'edit_posts'
?quelle
edit_posts
. Damit sie ein Bild löschen können, benötigen siedelete_posts
. Ich binedit_listings
mir nicht sicher, warum ich überhaupt nicht richtig zugeordnet habeedit_posts
.Ich weiß, dass diese Frage jetzt ein Jahr alt ist, aber ich habe gerade herausgefunden, dass es tatsächlich einen Weg gibt, dies zu erreichen. Veröffentlichen Sie sie hier, falls sie für andere nützlich ist:
Dies basiert hauptsächlich auf diesem Codex-Artikel .
Ich bekomme immer noch meine Head-Round-Funktionen-Filter und es ist 2:04 Uhr morgens, daher kann mein Code möglicherweise verbessert werden ...
quelle