J'utilise get_posts()
comme ceci:
$posts = get_posts(array('orderby' => 'post_status'))
ce qui n'est pas possible car ce n'est pas dans les clés autorisées dans la méthode parse_orderby()
Comment contourner cette limitation?
Vous pouvez utiliser 'posts_orderby'
filter pour modifier le code SQL exécuté.
Notez que:
get_posts()
, vous devez définir l'argument 'suppress_filters'
de false
pour que le filtre soit exécuté'post_status'
, vous n'obtiendrez que des publications (donc rien à commander)Exemple de code:
$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);