Wie kann man Mitwirkende daran hindern, den Post-Typ zu bearbeiten, aber einen benutzerdefinierten Post-Typ bearbeiten zu können?

Ich muss die Beitragenden daran hindern, den Standardposttyp zu bearbeiten, aber ich möchte ihnen erlauben, einen benutzerdefinierten Beitragstyp zu bearbeiten. Mein Code bisher:

remove_cap( 'contributor', 'edit_posts' ); 

Vielen Dank!

UPDATE: Warum die obige Antwort für mich nicht nützlich ist. Ich suche eine Kodierungslösung, keine Plugin-Empfehlung. Ich benutze auch eine Standardrolle “Mitwirkender”, die meine eigene Rolle nicht schafft. Vielen Dank!

Solutions Collecting From Web of "Wie kann man Mitwirkende daran hindern, den Post-Typ zu bearbeiten, aber einen benutzerdefinierten Post-Typ bearbeiten zu können?"

Fügen Sie der Rolle die functionen hinzu. Ersetzen Sie ‘cpt’ durch den Namen Ihres benutzerdefinierten Beitragstyps:

 $role = get_role( 'contributor' ); $role->add_cap( 'delete_published_cpt' ); $role->add_cap( 'delete_others_cpt' ); $role->add_cap( 'delete_cpt' ); $role->add_cap( 'edit_others_cpt' ); $role->add_cap( 'edit_published_cpt' ); $role->add_cap( 'edit_cpt' ); $role->add_cap( 'publish_cpt' ); 

Sie sollten jedoch bei jedem Laden der Seite keine Obergrenzen hinzufügen oder entfernen. Deshalb ist ein Plugin besser. Mit der function register_activation_hook Sie Obergrenzen für die Aktivierung des Plugins anpassen. Und Sie können Ihre Änderungen mit register_deactivation_hook wiederherstellen, weil Sie ein Gewissen haben.