WordPress.org

Forums

Link for user to unpublish post (status: draft) (1 post)

  1. Eckstein
    Member
    Posted 2 years ago #

    I am using this function:

    if(isset($_REQUEST['action']) && $_REQUEST['action']=='mypublish')
    add_action('init','my_publish_draft');
    function my_publish_draft(){
    //Get the post's ID.
    $post_id = (isset($_REQUEST['post']) ?  (int) $_REQUEST['post'] : 0);
    
    //No post? Oh well..
    if(empty($post_id))
    return;
    
    $nonce = $_REQUEST['_wpnonce'];
    
    //Check nonce
    if (! wp_verify_nonce($nonce,'my-publish-post_'.$post_id))
    wp_die('Are you sure?'); 
    
    //Check user permissions
    if (!current_user_can('publish_posts'))
    wp_die("You can't do that"); 
    
    //Any other checks you may wish to perform..
    
    //Publish post
    $post = get_post($post_id,ARRAY_A);
    $post['post_status'] ='publish';
    wp_update_post($post);
    
    //Redirect to published post
    wp_redirect('/dashboard/');
    exit;
    }

    And this code:

    <?php
    $status=get_post_status($upost->ID);
    if ($status!='publish')
    				$url=add_query_arg(array('action'=>'mypublish', 'post'=>$upost->ID),home_url());
    echo  "<a href='" . wp_nonce_url($url, 'my-publish-post_' . $upost->ID) . "'>Publish</a>"; 
    
    ?>

    To allow users to publish their posts via the front end of my site (theseattlevine.com/dashboard). I now want to give them an option to un-publish their posts (change them back to drafts).

    Can anyone help me figure out how to do this?

    Thanks!

Topic Closed

This topic has been closed to new replies.

About this Topic