web-dev-qa-db-fra.com

Créer un lien frontal pour enregistrer le message (ou annuler la publication) en tant que brouillon

J'ai créé un système de publication frontale et de tableau de bord permettant à mes utilisateurs d'ajouter et de modifier leurs propres publications. Dans la zone du tableau de bord, j'ai une liste de leurs publications et les options suivantes pour chaque publication: Afficher | Modifier | Publier/Annuler la publication | Effacer

Tous ces liens fonctionnent sauf la partie "annuler la publication". Je peux faire publier un article s'il est en cours de rédaction, mais une fois publié, je ne sais pas comment le "dépublier" du début, ce qui est une fonction que j'aimerais que mes utilisateurs aient.

Pour référence, j'utilise le code de ce fil pour faire la partie Publier: Soumission post-front-end

J'ai essayé de l'adapter, mais je n'ai pas réussi.

J'ai également besoin de fonctionnalités similaires sur le formulaire Nouvelle publication dans laquelle j'aimerais afficher un bouton "Enregistrer la publication" à côté du bouton "Publier" afin qu'un utilisateur puisse enregistrer la publication d'un brouillon afin de ne pas risquer de perdre leur travail lors de la création de la publication. poster.

Merci d'avoir lu et j'espère que quelqu'un pourra vous aider!

2
Eckstein

Vous pouvez utiliser wp_update_post() pour modifier le statut d'une publication.

global $current_user;
get_currentuserinfo();

$post_id = $_GET['post_id'];
$the_post = get_post( $post_id );

if ( $the_post->post_author == $current_user->ID && $the_post ) {
    $the_post->post_status = 'draft';
    wp_update_post( $the_post );    
}

Utilisez wp_insert_post() avec post_status => 'draft' pour enregistrer une publication.

1
Daniel