web-dev-qa-db-fra.com

Laisser les messages privés rester dans le statut "privé" après avoir été modifiés via "des éditeurs"

J'utilise des postes privés à des fins de stage. Lorsqu'un éditeur modifie quelque chose sur ces publications, son statut devient "révision" en attente et je dois le publier à nouveau sous forme de publication privée.

Lorsqu'un éditeur modifie quelque chose sur une page/une publication normale - qui a déjà été publiée pour le public - le statut ne change pas, alors je suis un peu confus.

Est-il possible, pour forcer wordpress, de laisser le statut privé status / intact, lorsqu'un éditeur travaille sur ces publications?

Merci beaucoup!

Edit:

Pour toutes les personnes confrontées au même problème: j'ai pu résoudre le problème avec un extrait de code d'un autre thread: https://wordpress.stackexchange.com/a/172556/87321

Il suffit juste d’ajouter le statut de poste "en attente", la solution de travail est donc:

add_filter('wp_insert_post_data', 'mark_post_private'); 
function mark_post_private($data)
{
    if(($data['post_type'] == 'your_post_type_goes_here') && ( $data['post_status'] == 'pending'))
    {
        $data['post_status'] = 'private';
    }

    return $data;
}
6
B4rT

Comme il ne semble pas que le PO revienne, j'ajoute sa réponse sous forme de réponse plutôt que de la laisser dans la question:

Pour toutes les personnes confrontées au même problème: j'ai pu résoudre le problème avec un extrait de code d'un autre thread: https://wordpress.stackexchange.com/a/172556/87321

Il suffit juste d’ajouter le statut de poste "en attente", la solution de travail est donc:

add_filter('wp_insert_post_data', 'mark_post_private'); 
function mark_post_private($data)
{
    if(($data['post_type'] == 'your_post_type_goes_here') && ( $data['post_status'] == 'pending'))
    {
        $data['post_status'] = 'private';
    }

    return $data;
}
1