私のwpブログの最近の 公表済み 投稿をリストし、いくつかのカテゴリの特定の投稿を除外したいです。次のコードは問題なく動作します。10件の最近の投稿がリストされており、リストされているカテゴリの投稿は無視されます。ただし、ドラフト投稿もリストされています。
$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> ';
}
?>
'post_status' => array( 'publish' ),
または'post_status' => 'publish',
の行は機能しません。何か手がかりがありますか?
使用している引数が間違っています。彼らはする必要があります:
$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',
)
);
またはもっと短い:
$args = array(
'numberposts' => '10',
'post_type' => 'post',
'post_status' => 'publish',
'category__not_in' => array( 10, 11, 57 )
);