web-dev-qa-db-fra.com

Forcer "Soumettre à la révision" lorsqu'un message est mis à jour

Je pense que tout est dans le titre. Je voudrais trouver un moyen de changer le statut d'un message en "en attente" lorsque le message est mis à jour lorsque l'utilisateur est un "auteur". J'ai déjà essayé avec différents plugins mais aucun d'entre eux n'a fonctionné. Je suis nouveau sur wordpress, donc je ne comprends pas vraiment comment je suppose que je modifie le code pour obtenir cette fonctionnalité.

Merci pour votre aide!

(Désolé pour mon anglais)

1
S.Ardant

Il est possible de empêcher l’auteur de publier post , et l’obliger à Soumettre pour aperçu . Ajoutez simplement ce code à votre functions.php et vous avez terminé.

<?php
   function take_away_publish_permissions() {
        $user = get_role('author');
        $user->add_cap('publish_posts',false);
   }
   add_action('init', 'take_away_publish_permissions' );
?>

** Code mis à jour ** Ce code partagé ici permet de définir l'état de la publication de manière à afficher un aperçu ou en attente lorsqu'un auteur met à jour une publication.

function postPending($post_ID)
 { 
     if(get_role('author'))
     {
        //Unhook this function
        remove_action('post_updated', 'postPending', 10, 3);

        return wp_update_post(array('ID' => $post_ID, 'post_status' => 'pending'));

        // re-hook this function
        add_action( 'post_updated', 'postPending', 10, 3 );
     }
 }
add_action('post_updated', 'postPending', 10, 3);

NOTE: Si vous appelez une fonction telle que wp_update_post qui inclut le hook save_post, votre fonction accrochée créera une boucle infinie. Pour éviter cela, décrochez votre fonction avant d'appeler la fonction dont vous avez besoin, puis reconnectez-la ensuite. Pour plus de détails, consultez/ link

1
BlueSuiter

L'utilisateur avec le rôle d'auteur est une personne qui peut publier et gérer ses propres publications. Vous ne pouvez donc pas modifier la capacité par défaut de votre auteur pour désactiver la publication. Vous pouvez définir tous les utilisateurs (auteurs) comme contributeurs. Ensuite, ils peuvent uniquement écrire des messages et gérer leurs messages sans les publier.

Pour référence: Rôles et capacités

0
Aishan