Funzione WordPress per cambiare lo stato di un articolo

27 feb 2014, 07:08:41
Visualizzazioni: 44K
Voti: 12

Sto utilizzando il plugin YouTube Video Fetcher. Questo plugin recupera i video utilizzando l'API di YouTube e li visualizza sul tuo sito web.

All'interno dello script del plugin, c'è la seguente sequenza:

    if (empty($items)) {$ret .= " 'Non ci sono nuovi video.'";}
    else foreach ( $items as $item ) :

È possibile cambiare lo stato di un post WordPress da pubblicato a bozza se vengono trovati "Non ci sono nuovi video"?

Penso che la soluzione sia utilizzare la funzione wp_update_post e qualcosa di simile a quanto segue:

        <?php
        // Aggiorna il post
        $my_post = array();
        $my_post['ID'] = $id;
        $my_post['post_status'] = 'draft';

        // Aggiorna il post nel database
        wp_update_post( $my_post );
        ?>
1
Commenti

Finché il tuo $id è impostato e valido, questo dovrebbe funzionare. Non è così?

tfrommen tfrommen
27 feb 2014 09:35:50
Tutte le risposte alla domanda 1
0
25

Penso che dovrebbe funzionare. Finché $id è disponibile, le cose sono semplici.

<?php
if (empty($items)) {
$ret .= " 'Nessun nuovo video.'";
$postid = $post->ID; //Fornisci qui l'ID del post $post->ID.
    wp_update_post(array(
        'ID'    =>  $postid,
        'post_status'   =>  'bozza'
        ));
}
else
    foreach ( $items as $item ) :
?>

Provalo.

27 feb 2014 16:02:56