wxr_authors_list

The timeline below displays how wordpress function wxr_authors_list has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Outputs list of authors with posts.
 *
 * @since 3.1.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int[] $post_ids Optional. Array of post IDs to filter the query by.
 */
function wxr_authors_list(array $post_ids = null)
{
    global $wpdb;
    if (!empty($post_ids)) {
        $post_ids = array_map('absint', $post_ids);
        $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
    } else {
        $and = '';
    }
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . (int) $author->ID . '</wp:author_id>';
        echo '<wp:author_login>' . wxr_cdata($author->user_login) . '</wp:author_login>';
        echo '<wp:author_email>' . wxr_cdata($author->user_email) . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->first_name) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->last_name) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}

WordPress Version: 5.6

/**
 * Output list of authors with posts
 *
 * @since 3.1.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int[] $post_ids Optional. Array of post IDs to filter the query by.
 */
function wxr_authors_list(array $post_ids = null)
{
    global $wpdb;
    if (!empty($post_ids)) {
        $post_ids = array_map('absint', $post_ids);
        $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
    } else {
        $and = '';
    }
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . (int) $author->ID . '</wp:author_id>';
        echo '<wp:author_login>' . wxr_cdata($author->user_login) . '</wp:author_login>';
        echo '<wp:author_email>' . wxr_cdata($author->user_email) . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->first_name) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->last_name) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}

WordPress Version: 5.1

/**
 * Output list of authors with posts
 *
 * @since 3.1.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int[] $post_ids Optional. Array of post IDs to filter the query by.
 */
function wxr_authors_list(array $post_ids = null)
{
    global $wpdb;
    if (!empty($post_ids)) {
        $post_ids = array_map('absint', $post_ids);
        $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
    } else {
        $and = '';
    }
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . intval($author->ID) . '</wp:author_id>';
        echo '<wp:author_login>' . wxr_cdata($author->user_login) . '</wp:author_login>';
        echo '<wp:author_email>' . wxr_cdata($author->user_email) . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->first_name) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->last_name) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}

WordPress Version: 4.4

/**
 * Output list of authors with posts
 *
 * @since 3.1.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param array $post_ids Array of post IDs to filter the query by. Optional.
 */
function wxr_authors_list(array $post_ids = null)
{
    global $wpdb;
    if (!empty($post_ids)) {
        $post_ids = array_map('absint', $post_ids);
        $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
    } else {
        $and = '';
    }
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . intval($author->ID) . '</wp:author_id>';
        echo '<wp:author_login>' . wxr_cdata($author->user_login) . '</wp:author_login>';
        echo '<wp:author_email>' . wxr_cdata($author->user_email) . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->first_name) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->last_name) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}

WordPress Version: 4.3

/**
 * Output list of authors with posts
 *
 * @since 3.1.0
 *
 * @global wpdb $wpdb
 *
 * @param array $post_ids Array of post IDs to filter the query by. Optional.
 */
function wxr_authors_list(array $post_ids = null)
{
    global $wpdb;
    if (!empty($post_ids)) {
        $post_ids = array_map('absint', $post_ids);
        $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
    } else {
        $and = '';
    }
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . $author->ID . '</wp:author_id>';
        echo '<wp:author_login>' . $author->user_login . '</wp:author_login>';
        echo '<wp:author_email>' . $author->user_email . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->user_firstname) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->user_lastname) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}

WordPress Version: 4.0

/**
 * Output list of authors with posts
 *
 * @since 3.1.0
 *
 * @param array $post_ids Array of post IDs to filter the query by. Optional.
 */
function wxr_authors_list(array $post_ids = null)
{
    global $wpdb;
    if (!empty($post_ids)) {
        $post_ids = array_map('absint', $post_ids);
        $and = 'AND ID IN ( ' . implode(', ', $post_ids) . ')';
    } else {
        $and = '';
    }
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft' {$and}");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . $author->ID . '</wp:author_id>';
        echo '<wp:author_login>' . $author->user_login . '</wp:author_login>';
        echo '<wp:author_email>' . $author->user_email . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->user_firstname) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->user_lastname) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}

WordPress Version: 3.7

/**
 * Output list of authors with posts
 *
 * @since 3.1.0
 */
function wxr_authors_list()
{
    global $wpdb;
    $authors = array();
    $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_status != 'auto-draft'");
    foreach ((array) $results as $result) {
        $authors[] = get_userdata($result->post_author);
    }
    $authors = array_filter($authors);
    foreach ($authors as $author) {
        echo "\t<wp:author>";
        echo '<wp:author_id>' . $author->ID . '</wp:author_id>';
        echo '<wp:author_login>' . $author->user_login . '</wp:author_login>';
        echo '<wp:author_email>' . $author->user_email . '</wp:author_email>';
        echo '<wp:author_display_name>' . wxr_cdata($author->display_name) . '</wp:author_display_name>';
        echo '<wp:author_first_name>' . wxr_cdata($author->user_firstname) . '</wp:author_first_name>';
        echo '<wp:author_last_name>' . wxr_cdata($author->user_lastname) . '</wp:author_last_name>';
        echo "</wp:author>\n";
    }
}