Est-il possible de rédiger une révision d'une page publiée ou d'un article? Quelles solutions de contournement avez-vous utilisées?

38

Dites que j'ai déjà publié une page ou un post. Je souhaite maintenant apporter des modifications, mais je souhaite qu'un collègue les vérifie avant leur mise en ligne. Y a-t-il une manière de faire ça?

Edit: Je me rends bien compte que ce n’est pas actuellement possible en tant que tel et que c’est une solution créative qui m’intéresse.

Sur le site sur lequel je travaille actuellement, je dispose également d'un site "intermédiaire" protégé par un mot de passe distinct pour la rédaction de modifications / ajouts de contenu majeurs. Une fois approuvé, je le copie / le colle sur le site actif. Je me demande si quelqu'un a utilisé une méthode similaire, mais peut-être automatisé la "poussée" vers le site actif?

Je suis conscient de cette question: synchronisation de base de données entre dev / staging et production , mais il s'agit davantage d'une synchronisation globale de bases de données entières plutôt que de pages individuelles ou de publications.

Nous offrons maintenant une prime afin d’essayer de trouver des idées supplémentaires pour contourner le problème.

100 e
la source
3
Si quelqu'un peut répondre à cette question, vous pourrez probablement également répondre à une question plus ancienne .
Jan Fabry
wordpress.org/plugins/revisionize semble faire ce dont vous avez besoin. Pratique plugin.
Rod Salm
À compter de 2019, consultez wordpress.org/plugins/revision-manager-tmc . C'est un nouveau joueur, mais plus complet et mieux maintenu.
timofey.com
1
J'ai créé un petit plugin pour cela. Regarde ça. Pourrait être utile: github.com/malithmcr/wp-draft-published
Malith

Réponses:

21

Il devrait être possible d’ajouter un bouton à la zone de publication Enregistrer en tant que copie modifiée . Vous devez alors vous y accrocher content_save_preet copier le contenu et toutes les métadonnées dans une nouvelle publication avec un statut de brouillon. Après la révision, les messages doivent être fusionnés.

Je ne l'ai pas encore fait, mais c'est vraiment nécessaire.

fuxia
la source
2
J'aime cette idée simple. L'API n'a besoin que d'une Copy Post Revisionfonction capable de copier une révision complète, y compris. les métadonnées vers un nouveau poste (pas encore créé) ou vers un poste existant. Cela fait, le brouillon de la publication peut être copié plus tard dans la publication originale.
hakre
@toscho Je me demandais si c'était toujours la meilleure façon de régler le problème? Peut-être que quelqu'un a un exemple de code ou quelque chose d'un peu plus concret? Merci
dashaluna
10

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

Ce plugin fera ce que vous voulez. Cela crée un rôle de réviseur qui se situe entre Contributeur et Editeur. L'interface utilisateur pourrait être améliorée et le code interne devait contourner de nombreuses fonctionnalités manquantes de WordPress, mais oui, cela résout votre problème: cela vous permettra de sauvegarder un brouillon (en réalité une révision en attente).

Mise à jour 2018 : La révision semble avoir cessé de fonctionner il y a environ 3 ans. Cependant, voir la réponse de Tessa à propos de Revisionize ( https://wordpress.org/plugins/revisionize ). Réviser semble être la meilleure solution.

Mise à jour 2019 : La révision appartient maintenant à PublishPress et est activement mise au point. L'auteur original travaille également avec eux pour le soutenir.

WraithKenny
la source
Je viens de tester ce plugin sur une installation 3.1.2 récemment mise à jour. Le processus d'application effective de la révision en attente semble rompu. Compte tenu de la rareté de la documentation, il n'est pas clair si elle est cassée en 3.1.2 ou si l'UX prévue est que la partie approbatrice doit copier-coller la révision dans la publication publiée manuellement. En tout cas, ce n'est pas ce que je veux dire à mes utilisateurs.
Marfarma
L'interface utilisateur est plutôt délirante, mais c'est parce qu'il n'y a aucun moyen de l'intégrer correctement à WP, pour autant que je sache. WP manque juste les crochets pour cela. Lorsque je l'ai testé, cela fonctionnait cependant ... il y a un bouton ou un lien quelque part qui "restaure" la révision. Vous ne devriez rien copier-coller. Depuis, je me suis tourné pour que l'utilisateur envoie simplement un e-mail à l'éditeur avec la demande de révision, parce que je n'aime pas l'interface utilisateur.
WraithKenny
D'accord, ce plugin est souvent cassé pour moi et incroyablement affreux à utiliser.
James
Je ne l'ai pas utilisé depuis 3 ans et demi; Je ne supposerais pas que cela fonctionnerait toujours. Il doit y avoir une nouvelle / meilleure façon de faire cela, car les choses dans le noyau de WP se sont grandement améliorées depuis ce poste.
WraithKenny
1
Semble fonctionner aujourd'hui
John
6

Salut @ e100 ;

Si une solution de plug-in personnalisée vous intéresse , je peux envisager plusieurs approches.

  1. Un processus similaire à ce que @toscho a décrit comme "Enregistrer en tant que copie modifiée " mais avec quelques différences subtiles. Le plug-in pourrait verrouiller l'édition des articles publiés, mais vous permettre de créer des articles dérivés avec un nouveau statut tel que "Brouillon mis à jour", qui pourraient être liés à l'article original via un champ personnalisé. Ces publications dérivées pourraient ensuite être éditées, révisées, etc., mais au lieu de pouvoir publier, vous aurez la possibilité de remplacer la publication d'origine par votre mise à jour.

  2. Un autre processus pourrait utiliser le système de révision intégré, bien que je devrais faire quelques recherches pour savoir comment transmettre au navigateur une version qui n’est pas la plus récente; peut-être enregistrer le contenu en tant que champ personnalisé et vous permettre de continuer à travailler dessus.

  3. Un troisième processus peut consister à configurer un deuxième site WordPress en tant que sandbox de modification , à utiliser les services Web pour récupérer les publications, à les modifier à distance, puis, lorsque vous êtes prêt à les publier, à revenir au site principal.

  4. Comme pour le n ° 3, vous pouvez configurer un sandbox de montage à l'aide d'une installation WordPress Multisite et créer des blogs non publics pour que chaque auteur ait son propre sandbox de montage.

Encore une fois, toutes ces options nécessiteraient un développement de plug-in personnalisé.

Si vous recherchez des plugins existants, vous souhaitez les consulter, même si je n'ai pas encore d'expérience spécifique avec eux, donc je ne sais pas si l'un d'entre eux fera exactement ce dont il a besoin:

  • Assignment Desk est un outil éditorial pour les organisations de presse utilisant WordPress comme système de gestion de contenu. L'objectif du plug-in est de rendre l'engagement de la communauté dans le processus de production de nouvelles plus facile et plus efficace.

  • Edit Flow propose une suite de fonctionnalités permettant de redéfinir votre flux de travail éditorial dans WordPress.

  • Peter's Post Notes - Ajoutez des notes sur les barres latérales des écrans "modifier le message" et "modifier la page" dans WordPress 2.8 et versions ultérieures. Utilisés avec Peter's Collaboration E-mails 1.2 et versions ultérieures, les notes sont envoyées avec les e-mails du flux de travail de collaboration. Il existe également un système de notes générales et privées sur le tableau de bord.

Mike Schinkel
la source
Votre première suggestion semble être une solution très cool! Oh et Joyeux Thanksgiving Mike, voyant que c'est TOUJOURS celui qui donne d'excellents conseils / solutions à nous tous!
NetConstructor.com
1
Toutes ces suggestions s’appliquent à des plug-ins ayant traité des publications non publiées. Ce que WordPress n'a pas (comme tous les autres systèmes de gestion de contenu) est un moyen de sauvegarder les brouillons en cours de révisions de publications déjà publiées.
James
4

C'est une question très ancienne, et en regardant quelques-uns des plugins mentionnés ici, j'ai remarqué que beaucoup ne sont pas maintenus ou pas tout à fait ce que je cherchais.

À la fin, j’en ai trouvé un qui me plaisait et qui s'appelle Revisionize . Bien que sa réputation et son utilisation ne soient pas encore au rendez-vous car plutôt nouvelles, je les aime bien.

Avantages:

  1. Belle interface utilisateur dans WordPress, les boutons sont faciles à trouver et il existe des avertissements et des notes lorsque vous utilisez le plug-in.
  2. A 5 étoiles 4.9 étoiles
  3. Toujours maintenu par son développeur
  4. Compatible avec le plugin Advanced Custom Fields
  5. Compatible avec le plugin Public Post Preview

Les inconvénients:

  1. Seulement 300+ 4000+ installations actives
  2. Seulement 4 avis 21 avis
  3. Pas de soutien de Gutenberg

Mise à jour des listes le 15 août 2019 . Bien que ce soit toujours un excellent plug-in, si vous utilisez l'éditeur de blocs de Gutenberg, il se peut que ce ne soit pas pour vous.

Tessa
la source
1
Salut, je suis l'auteur du plugin de Revisionize. Nous avons parcouru un long chemin - sur le point de lancer la version 2.1, qui ajoute une compatibilité améliorée entre multisites et réseau. La dernière version a un panneau de paramètres de base et il existe maintenant quelques ajouts payants sous forme de révisize.pro qui ajoute un support pour les contributeurs pour réviser le contenu existant et soumettre les modifications pour révision. Il y a maintenant plus de 1000 installations actives et 11 critiques 5 étoiles.
Jamie Chong
Ouais, vous avez jusqu'à 18 critiques 5 étoiles! Je crois vraiment que cela (et réviser) devrait être la réponse acceptée de nos jours.
WraithKenny
Il y a eu une amélioration solide avec Revisionize. Merci @JamieChong
timofey.com
3

Pas pour le moment, malheureusement. Si la page / publication est déjà publiée, votre seul recours est de créer une nouvelle page / publication pour conserver vos modifications et de la publier en privé afin que votre collègue puisse vérifier vos modifications. Remplacez ensuite le contenu de votre page / publication en direct par la version révisée.

Juste pour votre information: apporter des modifications d’état de brouillon au contenu déjà publié est un workflow qui n’est pas employé par de nombreux utilisateurs de WordPress. J'ai aussi entendu parler d'au moins trois manières différentes par lesquelles les gens souhaitent que cela se fasse au cours du mois écoulé ... donc sans un workflow standard, voici comment procéder pour soumettre des révisions à un contenu déjà publié, les chances que cela soit jamais une fonctionnalité de WordPress sont minces.

EAMann
la source
2
Hmmm, il me semble étrange que ce type de flux de travail ne soit pas plus demandé, d'autant plus que WP est de plus en plus sollicité en tant que système de gestion de contenu complet avec types de contenu personnalisé, etc.
e100
1
Le problème est que "ce type de flux de travail" est défini différemment par tant de personnes différentes. S'il y avait une norme, ce serait facile à inclure. Sans norme, la personnalisation de WP pour un flux de travail aliène les autres. Dans l'état actuel des choses, il est plus facile de laisser les développeurs créer des solutions personnalisées pour des situations spécifiques.
EAMann
Je serais vraiment intéressé d'entendre ces trois différentes façons dont les gens veulent gérer le flux de travail.
MikeSchinkel
Je me souviens en particulier des deux points suivants: 1) Basé sur les rôles : les contributeurs peuvent modifier le contenu d'un message et cliquer sur "Soumettre une révision", qui doit être vérifiée avant que les modifications ne soient mises en ligne. 2) Révisions fractionnées : les utilisateurs peuvent sélectionner une révision de n'importe quelle publication et copier automatiquement la révision dans une nouvelle publication sans restaurer la publication existante.
EAMann
1

Bien que cela ne résolve probablement pas votre problème spécifique, je vous suggère de regarder le plug-in "Edit Flow" sur wordpress.org. C'est un plugin très élégant qui peut très bien vous être utile.

NetConstructor.com
la source
Nan. Editflow permet uniquement la configuration de plusieurs statuts de publications non publiées. Ce qu'il faut, c'est un moyen de sauvegarder les brouillons des mises à jour en cours dans les publications déjà publiées. c'est l'une des plus belles missions de WordPress.
James
1

Il existe maintenant une solution très pratique à cela avec un plugin Drafts of Post Revisions .

Les utilisateurs peuvent être autorisés à créer un brouillon de révision d'une publication publiée (ou d'un type de publication personnalisé) créé en tant que copie enfant de la publication.

Les brouillons peuvent être comparés à leur parent publié via la fonction de comparaison des révisions.

Lors de la publication d'un brouillon de révision, toutes les modifications sont intégrées au parent lorsque le brouillon est éliminé. Plusieurs brouillons peuvent également être conservés.

Je recommanderais celui-ci à quiconque - il devient un plugin standard pour les sites WordPress. Cependant, je pense que ce type de fonctionnalité pourrait être développé prochainement dans le noyau WordPress.

Xave
la source
5 ans depuis la mise à jour
1

Bonjour @ e100 :)

Je pense que la solution intelligente serait que vous utilisiez un plugin gratuit existant. Il fait tout ce que vous avez écrit. Il suffit de le télécharger à partir de WordPress.org: https://wordpress.org/plugins/revision-manager-tmc/
Ce plugin est très souvent et régulièrement mis à jour

Revision Manager TMC fonctionne parfaitement avec le deuxième plug-in gratuit permettant de modifier les fonctionnalités de rôle d'utilisateur - Éditeur de rôle d'utilisateur https://wordpress.org/plugins/user-role-editor/

Yaworek
la source
1
A partir de 2019, c'est la solution la plus complète. C'est similaire à Revisionize, mais plus intuitif et plus complet. 1) Les révisions sont liées aux publications originales. 2) vous permet d’attribuer un rôle à l’éditeur aux "éditeurs" tout en les limitant à la publication originale; 3) Cela donne l'impression que les révisions ressemblent à des révisions, c'est-à-dire
qu'elles masquent les
Et le soutien d’ACF.
0

Je vais probablement finir par utiliser l'un des plugins mentionnés dans d'autres réponses, mais lorsque j'ai eu besoin de cette fonctionnalité et que je n'ai pas eu le temps de chercher des plugins, je devais m'assurer que les révisions fonctionnaient, enregistrer les modifications et les annuler immédiatement.

Maintenant, mon "brouillon" est dans mon système de révision.

Pas génial sur un système de production, mais assez bon sur un système de développement, jusqu'à ce que vous décidiez d'utiliser un plugin.

TecBrat
la source
0

Trouvé cette réponse ici qui a fonctionné pour moi. Je l'ai légèrement modifié car j'utilise des rôles d'utilisateur personnalisés.

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
la source