私は get_posts()
を次のように使います。
$posts = get_posts(array('orderby' => 'post_status'))
parse_orderby()
メソッドの許可されたキーにないため、これは不可能です。
この制限を回避する方法は?
実行されたSQLを変更するために 'posts_orderby'
filterを使用することができます。
ご了承ください:
get_posts()
を使うには、フィルタを実行するためにfalse
の'suppress_filters'
引数を設定する必要があります。'post_status'
を設定しない場合は、公開された投稿のみが表示されます(注文する必要はあまりありません)。コードサンプル:
$filter = function() {
return 'post_status ASC';
};
add_filter('posts_orderby', $filter);
$posts = get_posts('post_status' => 'any', 'suppress_filters' => false);
remove_filter('posts_orderby', $filter);