Wie deaktiviere ich Post bearbeiten und nur benutzerdefiniertes Feld zulassen?

Was ich gerne wissen würde, ist, wenn es möglich ist, die Bearbeitungsfunktion in WordPress basierend auf den Rollen des Benutzers zu deaktivieren. Ich versuche es besser zu erklären. Nehmen wir einen “Editor” als Rollenbeispiel: Ich möchte, dass Editoren, Autoren …. aber NICHT ADMIN in der Lage sind, Beiträge nur mit benutzerdefinierten Feldern anstelle der “klassischen” eingebauten Post-function von WordPress zu schreiben.

Gibt es jemanden, der weiß, wie man es macht (vielleicht ist es nur ein Satz oder 2 in functions.php) oder wer wie ein Plugin weiß, das mich das tun lässt?

Vielen Dank!

Solutions Collecting From Web of "Wie deaktiviere ich Post bearbeiten und nur benutzerdefiniertes Feld zulassen?"

Sie können die Unterstützung für den Post-Typ für den Editor bedingungsabhängig entfernen. Folgendes sollte funktionieren:

add_action( 'add_meta_boxes', 'wpse45113_remove_editor' ); function wpse45113_remove_editor() { // change the capability and post type to whatever is appropriate if ( ! current_user_can( 'install_plugins' ) ) remove_post_type_support( 'post', 'editor' ); } 

Ich verwende add_meta_boxes weil es nicht zu lange vor der Initialisierung des Editors add_meta_boxes wird, aber es gibt eine Reihe von Hooks, die ebenfalls funktionieren. Sie können die Meta-Box nur mit den benutzerdefinierten Feldern für diese Benutzer innerhalb desselben if-Blocks hinzufügen.

  1. Vielleicht möchten Sie ein Plugin verwenden, um einen benutzerdefinierten Beitragstyp hinzuzufügen.
  2. Dann können Sie ein anderes Plugin verwenden, um benutzerdefinierte Felder hinzuzufügen.
  3. Last but not least können Sie ein Plugin wie Mitglieder verwenden , um einigen Rollen den Zugriff auf das CPT zu erlauben oder es zu verweigern.

Ich kann dir keine anderen Plugin-Empfehlungen geben, da es a) von deinen Bedürfnissen abhängt und b) ich nicht so viel auf dem Repo bin und dazu benutzt werde, Sachen selbst zu programmieren.