Gibt es eine Möglichkeit, eine Überarbeitung einer veröffentlichten Seite oder eines Posts zu erstellen? Welche Problemumgehungen haben Sie verwendet?

38

Angenommen, ich habe bereits eine Seite oder einen Beitrag veröffentlicht. Ich möchte jetzt Änderungen vornehmen, aber ich möchte, dass ein Kollege sie überprüft, bevor sie live gehen. Gibt es eine Möglichkeit, dies zu tun?

Bearbeiten: Mir ist klar, dass dies als solches derzeit nicht möglich ist und es sind kreative Problemumgehungen, die mich interessieren.

Auf der Site, an der ich gerade arbeite, habe ich auch eine separate, kennwortgeschützte "Staging" -Site, auf der wichtige Änderungen / Ergänzungen von Inhalten vorgenommen werden können. Nach der Genehmigung kopiere ich sie und füge sie in die Live-Site ein. Ich frage mich, ob jemand eine ähnliche Methode angewendet hat, aber vielleicht den Push auf die Live-Site automatisiert hat.

Ich bin mir dieser Frage bewusst: Datenbanksynchronisierung zwischen Entwicklung / Staging und Produktion , aber es geht eher um die umfassende Synchronisierung ganzer Datenbanken als um einzelne Seiten oder Posts.

Bieten Sie jetzt ein Kopfgeld an, um zu versuchen, zusätzliche Ideen für Problemumgehungen zu finden.

e100
quelle
3
Wenn dies jemand beantworten kann, kann wahrscheinlich auch eine ältere verwandte Frage beantwortet werden.
Jan Fabry
wordpress.org/plugins/revisionize scheint das zu tun, was Sie brauchen. Praktisches Plugin.
Rod Salm
Besuchen Sie ab 2019 wordpress.org/plugins/revision-manager-tmc . Es ist ein neuerer Player, aber umfangreicher und besser gewartet.
timofey.com
1
Ich habe ein kleines Plugin dafür erstellt. Überprüfen Sie dies aus. Könnte hilfreich sein: github.com/malithmcr/wp-draft-published
Malith

Antworten:

21

Es sollte möglich sein, eine Schaltfläche zum Feld "Veröffentlichen" hinzuzufügen. Als geänderte Kopie speichern . Sie müssen sich dann einhängen content_save_preund den Inhalt und alle Metadaten in einen neuen Beitrag mit Entwurfsstatus kopieren. Nach der Überprüfung müssen die Beiträge wieder zusammengeführt werden.

Ich habe das noch nicht gemacht, aber es ist wirklich nötig.

fuxia
quelle
2
Ich mag diese einfache Idee. Die API benötigt nur eine Copy Post RevisionFunktion, die eine vollständige Revision inkl. die Metadaten zu einem neuen (noch nicht erstellten) oder einem vorhandenen Beitrag. Ist dies erledigt, kann die Entwurfspostkopie später auf die ursprüngliche Post kopiert werden.
Hakre
@toscho Ich habe mich nur gefragt, ob es immer noch der beste Weg ist, um das Problem zu lösen. Vielleicht hat jemand einen Beispielcode oder etwas konkreteres? Danke
dashaluna
10

http://wordpress.org/extend/plugins/revisionary/

Dieses Plugin wird tun, was Sie wollen. Es wird eine Revisor-Rolle erstellt, die sich in gewisser Weise zwischen Mitwirkendem und Herausgeber befindet. Die Benutzeroberfläche könnte verbessert werden und der interne Code musste eine Menge fehlender Funktionen von WordPress umgehen, aber das löst Ihr Problem: Sie können einen Entwurf speichern (tatsächlich eine 'ausstehende' 'Revision').

2018 Update : Revisionary scheint die Entwicklung vor etwa 3 Jahren gestoppt zu haben. Siehe jedoch Tessas Antwort zu Revisionize ( https://wordpress.org/plugins/revisionize ). Revisionize scheint die beste Lösung zu sein.

Update 2019 : Revisionary ist jetzt im Besitz von PublishPress und wird von PublishPress aktiv weiterentwickelt. Der ursprüngliche Autor arbeitet auch mit ihnen zusammen, um dies zu unterstützen.

WraithKenny
quelle
Ich habe dieses Plugin gerade in einer neu aktualisierten 3.1.2-Installation getestet. Der Prozess des tatsächlichen Anwendens der ausstehenden Revision scheint unterbrochen. In Anbetracht der spärlichen Dokumentation ist nicht klar, ob es in 3.1.2 nicht funktioniert oder ob die genehmigende Partei die Revision manuell in den veröffentlichten Beitrag kopieren und einfügen muss. In jedem Fall werde ich dies nicht an meine Benutzer weitergeben.
Marfarma
Die Benutzeroberfläche ist ziemlich verrückt, aber so weit ich das beurteilen kann, gibt es keine wirkliche Möglichkeit, sie richtig in WP zu integrieren. WP fehlen nur die Haken dafür. Als ich es getestet habe, hat es jedoch funktioniert ... es gibt irgendwo einen Button oder Link, der die Revision "wiederherstellt". Sie sollten nichts kopieren und einfügen müssen. Ich bin seitdem dazu übergegangen, dass der Benutzer dem Editor nur eine E-Mail mit einer Änderungsanforderung sendet, weil mir die Benutzeroberfläche nicht gefällt.
WraithKenny
Stimmen Sie zu, dieses Plugin ist für mich oft defekt und unglaublich schrecklich zu bedienen.
James
Ich habe es seit 3 ​​1/2 Jahren nicht mehr benutzt. Ich würde nicht annehmen, dass es noch funktionieren würde. Es muss einen neuen / besseren Weg geben, da sich die Dinge im WP-Kern seit diesem Beitrag stark verbessert haben.
WraithKenny
1
Scheint ab heute zu arbeiten
John
6

Hi @ e100 ;

Wenn Sie an einer benutzerdefinierten Plugin-Lösung interessiert waren, kann ich mir mehrere Ansätze vorstellen.

  1. Ein Vorgang ähnlich dem, den @toscho als "Als geänderte Kopie speichern" beschrieben hat, jedoch mit einigen subtilen Unterschieden. Das Plugin kann die Bearbeitung veröffentlichter Beiträge sperren, aber Sie können abgeleitete Beiträge mit einem neuen Status wie "Aktualisierter Entwurf" erstellen, der über ein benutzerdefiniertes Feld mit dem ursprünglichen Beitrag verknüpft werden kann. Diese abgeleiteten Beiträge können dann bearbeitet, überprüft usw. werden. Anstatt jedoch die Option zum Veröffentlichen zu haben, können Sie den ursprünglichen Beitrag durch Ihr Update ersetzen.

  2. Ein anderer Prozess könnte das eingebaute Revisionssystem verwenden, obwohl ich einige Nachforschungen anstellen müsste, um herauszufinden, wie dem Browser eine Version bereitgestellt werden kann, die nicht die neueste ist. Speichern Sie den Inhalt möglicherweise als benutzerdefiniertes Feld und lassen Sie ihn weiter bearbeiten.

  3. Ein dritter Prozess könnte darin bestehen, eine zweite WordPress-Site als Bearbeitungs-Sandbox einzurichten , Webdienste zum Abrufen der Posts zu verwenden, sie aus der Ferne zu bearbeiten und dann, wenn Sie bereit sind, sie zu veröffentlichen, zur Haupt-Site zurückzukehren.

  4. Ähnlich wie bei # 3 können Sie eine Bearbeitungssandbox mithilfe einer WordPress Multisite- Installation einrichten und nicht öffentliche Blogs erstellen, die jeder Autor als eigene Bearbeitungssandbox verwenden kann.

Alle diese Optionen würden wiederum eine benutzerdefinierte Plug-in-Entwicklung erfordern.

Wenn Sie nach vorhandenen Plugins suchen , möchten Sie sich diese ansehen, obwohl ich noch keine besonderen Erfahrungen mit ihnen habe. Daher weiß ich nicht, ob eines dieser Plugins genau die Anforderungen erfüllt:

  • Assignment Desk ist ein redaktionelles Tool für Nachrichtenorganisationen, die WordPress als Content-Management-System verwenden. Ziel des Plug-ins ist es, die Einbindung der Community in den Nachrichtenproduktionsprozess zu vereinfachen und effizienter zu gestalten.

  • Edit Flow bietet eine Reihe von Funktionen, mit denen Sie Ihren redaktionellen Workflow in WordPress neu definieren können.

  • Peters Beitragsnotizen - Fügen Sie Notizen in den Seitenleisten "Beitrag bearbeiten" und "Seite bearbeiten" in WordPress 2.8 und höher hinzu. Bei Verwendung mit den Zusammenarbeits-E-Mails 1.2 und höher von Peter werden die Notizen zusammen mit den E-Mails im Zusammenarbeits-Workflow gesendet. Es gibt auch ein allgemeines und ein privates Notizensystem im Dashboard.

MikeSchinkel
quelle
Ihr erster Vorschlag klingt nach einer sehr coolen Lösung! Oh und Happy Thanksgiving Mike, da du IMMER derjenige bist, der uns allen exzellente Ratschläge und Lösungen gibt!
NetConstructor.com
1
Alle diese Vorschläge gelten für Plug-ins, die nicht veröffentlichte Posts verarbeiten. Was WordPress nicht hat (was alle anderen CMS tun), ist eine Möglichkeit, in Bearbeitung befindliche Entwürfe von Überarbeitungen in bereits veröffentlichten Beiträgen zu speichern.
James
4

Dies ist eine sehr alte Frage, und als ich mir einige der hier erwähnten Plugins ansah, bemerkte ich, dass viele nicht gepflegt sind oder nicht ganz das sind, wonach ich gesucht habe.

Am Ende fand ich einen, den ich mochte, Revisionize . Obwohl der Ruf und die Nutzung noch nicht auf dem neuesten Stand sind, gefällt es mir.

Vorteile:

  1. Schöne Benutzeroberfläche in WordPress, Schaltflächen sind leicht zu finden und es gibt Warnungen und Hinweise, wenn Sie das Plugin verwenden, was das Drücken von Schaltflächen bewirkt.
  2. Hat eine 5-Sterne- 4.9-Sterne-Bewertung
  3. Wird immer noch von seinem Entwickler gepflegt
  4. Kompatibel mit dem Advanced Custom Fields Plugin
  5. Kompatibel mit dem Public Post Preview Plugin

Nachteile:

  1. Nur 300+ 4.000+ aktive Installationen
  2. Nur 4 Bewertungen 21 Bewertungen
  3. Keine Gutenberg-Unterstützung

Aktualisierte Listen am 15. August 2019 . Es ist zwar immer noch ein großartiges Plugin, aber wenn Sie den Gutenberg-Blockeditor verwenden, ist es möglicherweise nichts für Sie.

Tessa
quelle
1
Hey, ich bin der Plugin-Autor von Revisionize. Es ist ein langer Weg - kurz vor dem Start von Version 2.1, die eine verbesserte Multisite- / Netzwerkkompatibilität bietet. Die neueste Version verfügt über ein Bedienfeld für grundlegende Einstellungen. In revisionize.pro stehen jetzt einige kostenpflichtige Addons zur Verfügung , mit denen Beitragszahler vorhandene Inhalte überarbeiten und Änderungen zur Überprüfung einreichen können. Derzeit gibt es über 1000 aktive Installationen und 11 5-Sterne-Bewertungen.
Jamie Chong
Ja, Sie haben bis zu 18 5-Sterne-Bewertungen! Ich glaube wirklich, dass dies (und Revisionize) die akzeptierte Antwort sein sollte.
WraithKenny
Mit Revisionize wurde eine solide Verbesserung erzielt. Vielen Dank, dass Sie @JamieChong
timofey.com
3

Zur Zeit leider nicht. Wenn die Seite / der Beitrag bereits veröffentlicht ist, können Sie lediglich eine neue Seite / einen neuen Beitrag erstellen , um Ihre Änderungen zu speichern und privat zu veröffentlichen, damit Ihr Kollege Ihre Änderungen überprüfen kann. Ersetzen Sie dann den Inhalt Ihrer Live-Seite / Ihres Posts durch die überarbeitete Version.

Nur zu Ihrer Information: Änderungen des Entwurfsstatus an bereits veröffentlichten Inhalten sind ein Workflow, der von vielen WordPress-Benutzern nicht angewendet wird. Ich habe von mindestens drei verschiedenen Arten gehört, wie die Leute es im letzten Monat auch wollen ... also ohne einen Standard, wie man Überarbeitungen an bereits veröffentlichten Content-Workflows übergibt, Die Chancen, dass dies jemals ein Feature von WordPress ist, sind gering.

EAMann
quelle
2
Hmmm, ich finde es seltsam, dass diese Art von Workflow nicht besonders gefragt ist, zumal WP zunehmend als vollwertiges CMS mit benutzerdefinierten Inhaltstypen usw. eingeführt wird
e100 13.11.10
1
Das Problem ist, dass "diese Art von Workflow" von so vielen unterschiedlichen Personen unterschiedlich definiert wird. Wenn es einen Standard gäbe, wäre es einfach, ihn aufzunehmen. Ohne einen Standard verfremdet das Anpassen von WP für einen Workflow die anderen. Derzeit ist es einfacher, Entwickler benutzerdefinierte Lösungen für bestimmte Situationen erstellen zu lassen.
EAMann
Es würde mich sehr interessieren, wie die drei verschiedenen Arten der Workflow-Verwaltung aussehen.
MikeSchinkel
An die beiden kann ich mich speziell erinnern: 1) Rollenbasiert : Mitwirkende können den Inhalt eines Posts bearbeiten und auf "Revision senden" klicken, die überprüft werden muss, bevor die Änderungen wirksam werden. 2) Teilen von Revisionen : Benutzer können eine Überprüfung für jeden Beitrag auswählen und die Revision automatisch in einen neuen Beitrag kopieren, ohne den vorhandenen Beitrag zurückzusetzen.
EAMann
1

Obwohl dies Ihr spezifisches Problem wahrscheinlich nicht lösen wird, schlage ich vor, dass Sie sich das Plugin "Edit Flow" auf wordpress.org ansehen. Es ist ein sehr schickes Plugin, das Ihnen sehr nützlich sein kann.

NetConstructor.com
quelle
Nee. Der Bearbeitungsablauf ermöglicht nur das Einrichten mehrerer Status von unveröffentlichten Posts. Was benötigt wird, ist eine Möglichkeit, Entwürfe laufender Aktualisierungen in bereits veröffentlichten Posts zu speichern. Es ist eine der beeindruckendsten Aufgaben in WordPress.
James
1

Es gibt jetzt eine sehr saubere Lösung für dieses Problem mit einem Plugin für Entwürfe von Post-Revisionen .

Es kann Benutzern gestattet werden, einen Revisionsentwurf für einen veröffentlichten Beitrag (oder einen benutzerdefinierten Beitragstyp) zu erstellen, der als untergeordnete Kopie des Beitrags erstellt wird.

Entwürfe können mit dem veröffentlichten übergeordneten Element über die Funktion zum Vergleichen von Revisionen verglichen werden.

Beim Veröffentlichen eines Revisionsentwurfs werden alle Änderungen beim Entsorgen des Entwurfs wieder in den übergeordneten Entwurf integriert. Es können auch mehrere Entwürfe gepflegt werden.

Würde es jedem empfehlen - es wird zum Standard-Plugin für WordPress-Sites. Ich vermute jedoch, dass wir in naher Zukunft feststellen werden, dass diese Art von Funktion im WordPress-Kern entwickelt wird.

Xave
quelle
5 Jahre seit Update
1

Hi @ e100 :)

Ich denke, eine clevere Lösung wäre, wenn Sie ein vorhandenes kostenloses Plugin verwenden. Es macht all die Dinge, über die Sie geschrieben haben. Laden Sie es einfach von WordPress.org herunter: https://wordpress.org/plugins/revision-manager-tmc/
Dieses Plugin wird sehr oft und regelmäßig aktualisiert

Revision Manager TMC eignet sich hervorragend für das zweite kostenlose Plug-In zum Bearbeiten der Funktionen für Benutzerrollen - User Role Editor https://wordpress.org/plugins/user-role-editor/

Yaworek
quelle
1
Ab 2019 ist dies die umfassendste Lösung. Es ähnelt Revisionize, ist jedoch intuitiver und vollständiger. 1) Überarbeitungen sind mit den ursprünglichen Beiträgen verknüpft; 2) Ermöglicht es Ihnen, Redakteuren eine "Contributed Role" zuzuweisen, während Sie sie vom ursprünglichen Beitrag aus einschränken. 3) Es macht die Revisionen wie Revisionen, dh versteckt die Veröffentlichungsoptionen, etc ..
timofey.com
Und ACF-Unterstützung.
0

Ich werde wahrscheinlich eines der in anderen Antworten genannten Plugins verwenden, aber als ich diese Funktionalität benötigte und keine Zeit hatte, nach Plugins zu suchen, musste ich sicherstellen, dass die Überarbeitungen funktionierten, die Änderungen speichern und sie sofort zurücksetzen.

Jetzt befindet sich mein "Entwurf" in meinem Revisionssystem.

Auf einem Produktionssystem nicht großartig, aber auf einem Entwicklungssystem gut genug, bis Sie sich für ein zu verwendendes Plugin entscheiden.

TecBrat
quelle
0

Fand diese Antwort hier, die für mich arbeitete. Ich habe es geringfügig geändert, da ich benutzerdefinierte Benutzerrollen verwende.

function published_to_pending( $post_id ) {
    global $post;
    if ( ! is_object( $post ) ) {
        return;
    }

    if ( ! current_user_can( 'publish_posts' ) && $post->post_status == 'publish' ) {
        // stop recursion call
        remove_action( 'save_post', 'published_to_pending' );

        // update the post, which calls save_post again
        wp_update_post( array( 'ID' => $post_id, 'post_status' => 'pending' ) );

        // re-hook this function back
        add_action( 'save_post', 'published_to_pending' );
    }
} 

add_action( 'save_post', 'published_to_pending' );
tehlivi
quelle