it-swarm.com.de

Letzte veröffentlichte Beiträge anzeigen

Ich möchte die neuesten veröffentlichten Posts meines WP-Blogs auflisten und bestimmte Posts einiger Kategorien ausschließen. Der folgende Code funktioniert einwandfrei, 10 kürzlich veröffentlichte Beiträge werden aufgelistet und Beiträge in den aufgelisteten Kategorien werden ignoriert. Es werden jedoch auch Entwurfsposten aufgeführt.

$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> ';
    }
?>

Die Zeile mit 'post_status' => array( 'publish' ), oder 'post_status' => 'publish', funktioniert nicht. Irgendeine Ahnung warum?

2
Sadik

Die Argumente, die Sie verwenden, sind falsch. Sie sollten sein:

$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',
            )
 );

Oder kürzer:

$args = array(
            'numberposts'        => '10',
            'post_type'          => 'post',
            'post_status'        => 'publish',
            'category__not_in'   => array( 10, 11, 57 )
 );
5
cybmeta