get_comments
関数を使って複数のstatus
でコメントを取得する方法はありますか
trash
とhold
の両方のコメントを得たいとしましょう。
投稿でも同じことができます。
get_posts(array('post_status' => 'draft,private,trash'));
get_posts(array('post_status' => array('draft', 'private', 'trash')));
私がやりたいことは、
get_comments(array('status' => 'hold,trash'));
get_comments(array('status' => array('hold', 'trash')));
Wordpressコーデックスの時点では、そのような選択肢はありません。しかし、普通のPHPを使って2つ以上のコメント配列を組み合わせることができます。
array_merge(
get_comments( array( 'status' => 'hold' ) ),
get_comments( array( 'status' => 'trash' ) )
);
ありえない。 comments_clauses
をフィルタリングする必要があります。
add_filter( 'comments_clauses', 'wpse_77415_comment_clauses_filter' );
function wpse_77415_comment_clauses_filter( $clauses )
{
$clauses['where'] .= " ( comment_approved = 'hold' OR comment_approved = 'trash' )";
// maybe remove the original 'comment_approved' statement …
return $clauses;
}
その他の例