/** * Output list of authors with posts * * @since 3.1.0 */ function wpcli_wxr_authors_list() { global $wpdb; $authors = array(); $results = $wpdb->get_results("SELECT DISTINCT post_author FROM {$wpdb->posts}"); foreach ((array) $results as $result) { $authors[] = get_userdata($result->post_author); } $authors = array_filter($authors); $output = ''; foreach ($authors as $author) { $output .= "\t<wp:author>"; $output .= '<wp:author_id>' . $author->ID . '</wp:author_id>'; $output .= '<wp:author_login>' . $author->user_login . '</wp:author_login>'; $output .= '<wp:author_email>' . $author->user_email . '</wp:author_email>'; $output .= '<wp:author_display_name>' . wpcli_wxr_cdata($author->display_name) . '</wp:author_display_name>'; $output .= '<wp:author_first_name>' . wpcli_wxr_cdata($author->user_firstname) . '</wp:author_first_name>'; $output .= '<wp:author_last_name>' . wpcli_wxr_cdata($author->user_lastname) . '</wp:author_last_name>'; $output .= "</wp:author>\n"; } return $output; }
<dc:creator>' . get_the_author_meta('login') . '</dc:creator> <guid isPermaLink="false">' . esc_url($post->guid) . '</guid> <wp:post_id>' . $post->ID . '</wp:post_id> <wp:post_date>' . $post->post_date . '</wp:post_date> <wp:post_date_gmt>' . $post->post_date_gmt . '</wp:post_date_gmt> <wp:comment_status>' . $post->comment_status . '</wp:comment_status> <wp:ping_status>' . $post->ping_status . '</wp:ping_status> <wp:post_name>' . $post->post_name . '</wp:post_name> <wp:status>' . $post->post_status . '</wp:status> <wp:post_parent>' . $post->post_parent . '</wp:post_parent> <wp:menu_order>' . $post->menu_order . '</wp:menu_order> <wp:post_type>' . $post->post_type . '</wp:post_type> <wp:post_password>' . $post->post_password . '</wp:post_password> '; $postmeta = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->postmeta} WHERE post_id = %d ORDER BY meta_key, meta_value ASC", $post->ID)); foreach ($postmeta as $meta) { if ($meta->meta_key != '_edit_lock') { $output .= ' <wp:postmeta> <wp:meta_key>' . $meta->meta_key . '</wp:meta_key> <wp:meta_value>' . wpcli_wxr_cdata(str_replace(array("\r\n"), " ", $meta->meta_value)) . '</wp:meta_value> </wp:postmeta> '; } } $output .= '</item>'; } $output .= '</channel></rss>'; $fp = fopen($subpath . '/' . "data.xml", "w"); fwrite($fp, $output); fclose($fp);