Erlauben Sie einem Nicht-Autor, Revisionen eines Beitrags zu sehen

Ich habe einen speziellen Workflow für das Authoring auf meiner Website.

Ein Autor veröffentlicht einen neuen Beitrag, dann wird eine automatische Version mit einer anderen Sprache erstellt und einem anderen Benutzer (Übersetzer) zugewiesen.

Ich möchte, dass dieser Übersetzer Revisionen sehen kann, ich meine, wenn er die Seite /wp-admin/revision.php?revision=450 anfordert, muss er den Verlauf der Änderungen sehen, als wäre er der Eigentümer der Datei, aber der Übersetzer kann den ursprünglichen Post (in der Standardsprache geschrieben) nicht bearbeiten.

Ich tauchte ein wenig in die Datei admin / revision.php, aber ich denke, es muss bessere Alternativen geben.

Solutions Collecting From Web of "Erlauben Sie einem Nicht-Autor, Revisionen eines Beitrags zu sehen"

Grundlegende Lösung

Lassen Sie uns einen neuen Rollenübersetzer erstellen, dessen Fähigkeiten den Autorrollen entsprechen. Fügen Sie den Code unten in functions.php Ihres aktuellen Themas ein:

 function wpse_add_translator_role() { if ( empty( get_role( 'translator' ) ) ) { $role = get_role( 'author' ); add_role( 'translator', 'Translator', $role->capabilities ); } } add_action( 'init', 'wpse_add_translator_role', 10 ); 

Sobald der add_action erstellt wurde, können Sie den obigen Code aus der add_action functions.php entfernen oder einfach die Zeile add_action :

 // add_action( 'init', 'wpse_add_translator_role', 10 ); 

Template-Änderung

Vorlage zum Anzeigen eines einzelnen Posts finden. Sofort nach the_content(); Fügen Sie den folgenden Code ein:

 $user = wp_get_current_user(); if( 0 != $user->ID ) { if( in_array( 'translator', $user->roles ) ) { global $post; $revisions = wp_get_post_revisions( $post->ID ); if( !empty( $revisions ) ) { echo '

Revisions

'; foreach ( $revisions as $revision ) { echo 'ID = '; echo $revision->ID; ?> < ?php } echo '
'; } } }

Übersetzer vorbereiten

Bearbeiten Sie jeden Benutzer, der ein Übersetzer ist, und ändern Sie seine Rolle in Übersetzer .

Prüfung

Melden Sie sich als Übersetzer an und wählen Sie einen einzelnen Beitrag aus. Sie sollten den Inhalt und alle verfügbaren Revisionen sehen.

Schlussnoten

Der in Ihre Vorlage eingefügte Code kann weiter modifiziert werden, um nur Überarbeitungen für Beiträge anderer Autoren anzuzeigen. Dieser Teil ist einfach, deshalb überlasse ich es dir.

Es ist wichtig, daran zu denken, dass alle oben genannten Änderungen auf das untergeordnete Thema und nicht auf das ursprüngliche Thema angewendet werden sollten.