Get users with atleast one post

How can I get all users with atleast one post? I don’t think it’s possible with get_users function.

Related posts

Leave a Reply

1 comment

  1. global $wpdb;
    $min_posts = 5; // Make sure it's int, it's not escaped in the query
    $author_ids = $wpdb->get_col("SELECT `post_author` FROM
        (SELECT `post_author`, COUNT(*) AS `count` FROM {$wpdb->posts}
            WHERE `post_status`='publish' GROUP BY `post_author`) AS `stats`
        WHERE `count` >= {$min_posts} ORDER BY `count` DESC;");
    // Do what you want to $author_ids from here on...
    

    This will return the User IDs of the Authors with 5+ published posts and orders them descending, by post counts.