функция
since 3.1.0
wxr_authors_list()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wxr_authors_list( int[] $post_ids = null )
Описание
Выводит список авторов, имеющих записи.
Параметры
$post_ids
int[]
необязательный
= null
Массив идентификаторов записей для фильтрации запроса.
Исходный код
wp-admin/includes/export.php:406
function wxr_authors_list( ?array $post_ids = null ) {
global $wpdb;
if ( ! empty( $post_ids ) ) {
$post_ids = array_map( 'absint', $post_ids );
$post_id_chunks = array_chunk( $post_ids, 20 );
} else {
$post_id_chunks = array( array() );
}
$authors = array();
foreach ( $post_id_chunks as $next_posts ) {
$and = ! empty( $next_posts ) ? 'AND ID IN (' . implode( ', ', $next_posts ) . ')' : '';
$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 );
$authors = array_unique( $authors, SORT_REGULAR ); // Remove duplicate 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";
}
}
История изменений
| Версия | Описание |
|---|---|
| 3.1.0 | Introduced. |

