Mostrar publicaciones recientes publicadas

2

Quiero enumerar las publicaciones publicadas recientes de mi blog de wp y excluir ciertas publicaciones de algunas categorías. El siguiente código funciona bien, se enumeran 10 publicaciones recientes y se ignoran las publicaciones en las categorías enumeradas. Sin embargo, los borradores de las publicaciones también se enumeran.

$args = array( 'numberposts' => '10', 'tax_query' =>
 array(
     'post_type' => 'post',
     'post_status' => array( 'publish' ),
     'tax_query' => array(
         'relation' => 'AND',
         array(
             'taxonomy' => 'category',
             'field' => 'id',
             'terms' => array( 10, 11, 57 ),
             'operator' => 'NOT IN',
         ),
     ),
 )
);



$recent_posts = wp_get_recent_posts(  $args );
foreach( $recent_posts as $recent ){
    echo '<li><a href="' . get_permalink($recent["ID"]) . '">'.   $recent["post_title"].'</a> </li> ';
    }
?>

La línea con 'post_status' => array( 'publish' ), o 'post_status' => 'publish', no funciona. ¿Alguna pista de por qué?

    
pregunta Sadik 29.01.2015 - 14:16

1 respuesta

5

Los argumentos que está utilizando son incorrectos. Deben ser:

$args = array(
            'numberposts' => '10',
            'post_type'   => 'post',
            'post_status' =>'publish',
            'tax_query'   => array(
                'taxonomy' => 'category',
                'field' => 'id',
                'terms' => array( 10, 11, 57 ),
                'operator' => 'NOT IN',
            )
 );

O más corto:

$args = array(
            'numberposts'        => '10',
            'post_type'          => 'post',
            'post_status'        => 'publish',
            'category__not_in'   => array( 10, 11, 57 )
 );
    
respondido por el cybmeta 29.01.2015 - 14:54

Lea otras preguntas en las etiquetas