WordPress.org

Plugin Directory

Changeset 380920


Ignore:
Timestamp:
05/04/11 18:36:02 (3 years ago)
Author:
ryan
Message:

Handle commentmeta. Props duck_. see #WP12871

Location:
wordpress-importer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • wordpress-importer/trunk/parsers.php

    r363311 r380920  
    174174                $post['postmeta'][] = array( 
    175175                    'key' => (string) $meta->meta_key, 
    176                     'value' => (string) $meta->meta_value, 
     176                    'value' => (string) $meta->meta_value 
    177177                ); 
    178178            } 
    179179 
    180180            foreach ( $wp->comment as $comment ) { 
     181                $meta = array(); 
     182                if ( isset( $comment->commentmeta ) ) { 
     183                    foreach ( $comment->commentmeta as $m ) { 
     184                        $meta[] = array( 
     185                            'key' => (string) $m->meta_key, 
     186                            'value' => (string) $m->meta_value 
     187                        ); 
     188                    } 
     189                } 
     190             
    181191                $post['comments'][] = array( 
    182192                    'comment_id' => (int) $comment->comment_id, 
     
    192202                    'comment_parent' => (string) $comment->comment_parent, 
    193203                    'comment_user_id' => (int) $comment->comment_user_id, 
     204                    'commentmeta' => $meta, 
    194205                ); 
    195206            } 
     
    303314        switch ( $tag ) { 
    304315            case 'wp:comment': 
     316                unset( $this->sub_data['key'], $this->sub_data['value'] ); // remove meta sub_data 
    305317                if ( ! empty( $this->sub_data ) ) 
    306318                    $this->data['comments'][] = $this->sub_data; 
    307319                $this->sub_data = false; 
     320                break; 
     321            case 'wp:commentmeta': 
     322                $this->sub_data['commentmeta'][] = array( 
     323                    'key' => $this->sub_data['key'], 
     324                    'value' => $this->sub_data['value'] 
     325                ); 
    308326                break; 
    309327            case 'category': 
     
    547565        if ( $comments ) { 
    548566            foreach ( $comments as $comment ) { 
     567                preg_match_all( '|<wp:commentmeta>(.+?)</wp:commentmeta>|is', $comment, $commentmeta ); 
     568                $commentmeta = $commentmeta[1]; 
     569                $c_meta = array(); 
     570                foreach ( $commentmeta as $m ) { 
     571                    $c_meta[] = array( 
     572                        'key' => $this->get_tag( $m, 'wp:meta_key' ), 
     573                        'value' => $this->get_tag( $m, 'wp:meta_value' ), 
     574                    ); 
     575                } 
     576 
    549577                $post_comments[] = array( 
    550578                    'comment_id' => $this->get_tag( $comment, 'wp:comment_id' ), 
     
    560588                    'comment_parent' => $this->get_tag( $comment, 'wp:comment_parent' ), 
    561589                    'comment_user_id' => $this->get_tag( $comment, 'wp:comment_user_id' ), 
     590                    'commentmeta' => $c_meta, 
    562591                ); 
    563592            } 
  • wordpress-importer/trunk/wordpress-importer.php

    r366417 r380920  
    524524            } 
    525525 
    526             if ( isset( $this->processed_posts[$post['post_id']] ) ) 
     526            if ( isset( $this->processed_posts[$post['post_id']] ) && ! empty( $post['post_id'] ) ) 
    527527                continue; 
    528528 
     
    655655                    $newcomments[$comment_id]['comment_type']         = $comment['comment_type']; 
    656656                    $newcomments[$comment_id]['comment_parent']       = $comment['comment_parent']; 
     657                    $newcomments[$comment_id]['commentmeta']          = $comment['commentmeta']; 
    657658                    if ( isset( $this->processed_authors[$comment['comment_user_id']] ) ) 
    658659                        $newcomments[$comment_id]['user_id'] = $this->processed_authors[$comment['comment_user_id']]; 
     
    667668                        $comment = wp_filter_comment( $comment ); 
    668669                        $inserted_comments[$key] = wp_insert_comment( $comment ); 
     670 
     671                        foreach( $comment['commentmeta'] as $meta ) { 
     672                            $value = maybe_unserialize( $meta['value'] ); 
     673                            add_comment_meta( $inserted_comments[$key], $meta['key'], $value ); 
     674                        } 
     675 
    669676                        $num_comments++; 
    670677                    } 
Note: See TracChangeset for help on using the changeset viewer.