Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I'm running the YouTube Video Fetcher plugin at . It fetches videos using the youtube api and displays them on your website.

Within the plugin script, there is the following sequence:

    if (empty($items)) {$ret .= " 'No new videos.'";}
    else foreach ( $items as $item ) :

Is it possible to change the wordpress post status from published to draft if "No new videos" are found?

I am thinking the solution is using the wp update post function and something along the lines of the following:

        // Update post
        $my_post = array();
        $my_post['ID'] = $id;
        $my_post['post_status'] = 'draft';

        // Update the post into the database
        wp_update_post( $my_post );
share|improve this question
As long as your $id is set and valid this should work. Doesn't it? –  t f Feb 27 '14 at 7:35

1 Answer 1

up vote 0 down vote accepted

I guess it should work . As long as $id is available things are easy.

if (empty($items)) {
$ret .= " 'No new videos.'";
$postid = $post->ID; //Supply post-Id here $post->ID.
        'ID'    =>  $postid,
        'post_status'   =>  'draft'
    foreach ( $items as $item ) :

Give it a shot.

share|improve this answer
Thanks Sudeep! Worked perfectly. –  Aaron Feb 28 '14 at 23:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.