Función de WordPress para cambiar el estado de una entrada

27 feb 2014, 07:08:41
Vistas: 44K
Votos: 12

Estoy ejecutando el plugin YouTube Video Fetcher. Este plugin obtiene videos usando la API de YouTube y los muestra en tu sitio web.

Dentro del script del plugin, existe la siguiente secuencia:

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

¿Es posible cambiar el estado de la entrada de WordPress de publicado a borrador si se encuentra "No hay nuevos videos"?

Creo que la solución sería usar la función wp_update_post junto con algo similar a lo siguiente:

        <?php
        // Actualizar entrada
        $my_post = array();
        $my_post['ID'] = $id;
        $my_post['post_status'] = 'draft';

        // Actualizar la entrada en la base de datos
        wp_update_post( $my_post );
        ?>
1
Comentarios

Mientras tu $id esté configurado y sea válido, esto debería funcionar. ¿No es así?

tfrommen tfrommen
27 feb 2014 09:35:50
Todas las respuestas a la pregunta 1
0
25

Supongo que debería funcionar. Mientras $id esté disponible, las cosas son sencillas.

<?php
if (empty($items)) {
$ret .= " 'No hay videos nuevos.'";
$postid = $post->ID; //Proporciona el ID del post aquí $post->ID.
    wp_update_post(array(
        'ID'    =>  $postid,
        'post_status'   =>  'borrador'
        ));
}
else
    foreach ( $items as $item ) :
?>

Pruébalo.

27 feb 2014 16:02:56