WordPress.org

Make WordPress Core

Ticket #14757: 14757.diff

File 14757.diff, 2.0 KB (added by logiclord, 7 years ago)

Users with the ability to edit posts and above can be exported

  • .php

    diff --git a/export_old.php b/export_new.php
    index 2efd040..52c7422 100644
    old new function export_wp( $args = array() ) { 
    237237                global $wpdb;
    238238
    239239                $authors = array();
    240                 $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts" );
     240            $results = $wpdb->get_results( "SELECT DISTINCT ID FROM $wpdb->users" );
    241241                foreach ( (array) $results as $result )
    242                         $authors[] = get_userdata( $result->post_author );
     242                $authors[] = get_userdata( $result->ID );
    243243
    244244                $authors = array_filter( $authors );
    245 
     245               
    246246                foreach( $authors as $author ) {
    247                         echo "\t<wp:author>";
    248                         echo '<wp:author_id>' . $author->ID . '</wp:author_id>';
    249                         echo '<wp:author_login>' . $author->user_login . '</wp:author_login>';
    250                         echo '<wp:author_email>' . $author->user_email . '</wp:author_email>';
    251                         echo '<wp:author_display_name>' . wxr_cdata( $author->display_name ) . '</wp:author_display_name>';
    252                         echo '<wp:author_first_name>' . wxr_cdata( $author->user_firstname ) . '</wp:author_first_name>';
    253                         echo '<wp:author_last_name>' . wxr_cdata( $author->user_lastname ) . '</wp:author_last_name>';
    254                         echo "</wp:author>\n";
     247                        /*     
     248                        We can allow specific access level user in following approach
     249                        if($author->wp_capabilities['editor'] || $author->wp_capabilities['author'] || $author->wp_capabilities['administrator'] || $author->wp_capabilities['contributor'])
     250                        */
     251                        if($author->user_level>0)
     252                        {
     253                                echo "\t<wp:author>";
     254                                echo '<wp:author_id>' . $author->ID . '</wp:author_id>';
     255                                echo '<wp:author_login>' . $author->user_login . '</wp:author_login>';
     256                                echo '<wp:author_email>' . $author->user_email . '</wp:author_email>';
     257                                echo '<wp:author_display_name>' . wxr_cdata( $author->display_name ) . '</wp:author_display_name>';
     258                                echo '<wp:author_first_name>' . wxr_cdata( $author->user_firstname ) . '</wp:author_first_name>';
     259                                echo '<wp:author_last_name>' . wxr_cdata( $author->user_lastname ) . '</wp:author_last_name>';
     260                                echo "</wp:author>\n";
     261                        }
    255262                }
    256263        }
    257264