Find Total Authors

Hi @rsm:

There are probably better ways, using the WordPress API, but since I know SQL so well this immediately came to mind:

function total_published_authors() {
  global $wpdb;
  $sql =<<<SQL
SELECT COUNT(*) AS total_published_authors FROM (
SELECT DISTINCT
    {$wpdb->users}.ID
FROM {$wpdb->users} 
    INNER JOIN {$wpdb->posts} ON {$wpdb->posts}.post_author={$wpdb->users}.ID
WHERE 
    {$wpdb->posts}.post_status="publish"
GROUP BY 
    {$wpdb->users}.ID
) x
SQL;
  return $wpdb->get_var($sql);
}  

If I come up with a better way I’ll post it too.