web-dev-qa-db-fra.com

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?

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 et que c’est la 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 en direct. Je me demande si quelqu'un a utilisé une méthode similaire, mais peut-être automatisé le "Push" sur le site en direct?

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.

Maintenant, offrez une prime pour essayer de trouver des idées supplémentaires pour contourner le problème.

37
e100

Il devrait être possible d’ajouter un bouton à la zone de publication Enregistrer en tant que copie modifiée . Vous devez ensuite vous connecter à content_save_pre et copier le contenu ainsi que 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.

22
fuxia

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

Ce plugin fera ce que vous voulez. Cela crée un rôle de réviseur qui est un peu entre Contributeur et Éditeur. L'interface utilisateur pourrait être améliorée et le code interne devait contourner beaucoup de fonctionnalités manquantes dans 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 : Révisionnel semble avoir cessé son développement il y a environ 3 ans. Cependant, voir la réponse de Tessa à propos de Revisionize ( https://wordpress.org/plugins/revisionize ). Revisionize semble être la meilleure solution.

Mise à jour 2019 : Révision est maintenant détenu et est activement développé par PublishPress. L'auteur original travaille également avec eux pour le soutenir.

11
WraithKenny

Hi @ e100 ;

Si vous étiez intéressé par une solution de plugin personnalisée , je peux envisager plusieurs approches.

  1. Un processus similaire à ce que @toscho décrit comme "Enregistrer en tant que copie modifiée" mais avec quelques différences subtiles. Le plugin pourrait verrouiller l’édition des publications mais vous permettre de créer des publications dérivées ayant un nouveau statut, comme "Brouillon mis à jour"} _ , qui pourraient être liées à l’original. poster via un champ personnalisé. Ces publications dérivées pourraient ensuite être éditées, révisées, etc., mais au lieu d’avoir la possibilité de publier, vous auriez la possibilité de remplacer la publication originale 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 proposer 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 pourrait consister à configurer un deuxième site WordPress en tant que sandbox de modification , utiliser des services Web pour récupérer les messages, vous permettre de les modifier à distance, puis, lorsque vous êtes prêt à les publier, vous pouvez retour au site principal.

  4. Semblable à # 3, vous pourriez configurer un sandbox de montage à l’aide d’un WordPress Multisite installer et créer des blogs non publics pour que chaque auteur puisse avoir son propre sandbox de montage.

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

Si vous êtes à la recherche de plugins existants vous voulez les examiner, même si je n'ai pas encore d'expérience spécifique avec eux, 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.

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

  • Peter's Post Notes - Ajoute 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.

6
MikeSchinkel

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.

En fin de compte, j’en ai trouvé un qui me plaisait et appelé 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
  3. La dernière mise à jour date d'il y a 3 mois et elle est marquée comme compatible avec la dernière version de WordPress.
  4. Compatible avec Advanced Custom Fields plugin

Inconvénients:

  1. Seulement 300+ Plus de 3000 installations actives
  2. Seulement 4 19 commentaires

Mise à jour de la liste des points faibles le 13 mars 2019. Ils peuvent ou non être contre-indiqués, selon l'endroit où vous tracez la ligne de confiance des autres utilisateurs;)

4
Tessa

Pas pour le moment, malheureusement. Si la page/publication est déjà publiée, votre seul recours serait de créer un new page/publication pour conserver vos modifications et en privé publier 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.

Just FYI: Faire des changements de statut de brouillon sur du 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 les révisions à un contenu déjà publié, les chances que cela soit jamais une fonctionnalité de WordPress sont minces.

3
EAMann

peut-être une solution facile: le plugin http://wordpress.org/extend/plugins/duplicate-post/ pour copier un message

3
bueltge

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 mis à jour régulièrement

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

2
Yaworek

Il existe un plugin appelé Live drafts qui semble fonctionner assez bien?

http://wordpress.org/extend/plugins/live-drafts/

1
Jason

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

1
NetConstructor.com

Il existe maintenant une solution très pratique à cet égard avec un plugin Brouillons de révisions ultérieures .

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 au 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.

0
Xave

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' );
0
tehlivi

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.

0
TecBrat