WordPress.org

Make WordPress Core

Changeset 6129


Ignore:
Timestamp:
09/18/07 17:50:21 (7 years ago)
Author:
ryan
Message:

Import tags. see #4682

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/import/wordpress.php

    r6125 r6129  
    8989        $this->posts = array(); 
    9090        $this->categories = array(); 
     91        $this->tags = array(); 
    9192        $num = 0; 
    9293        $doing_entry = false; 
     
    100101                    preg_match('|<wp:category>(.*?)</wp:category>|is', $importline, $category); 
    101102                    $this->categories[] = $category[1]; 
     103                    continue; 
     104                } 
     105                if ( false !== strpos($importline, '<wp:tag>') ) { 
     106                    preg_match('|<wp:tag>(.*?)</wp:tag>|is', $importline, $tag); 
     107                    $this->tags[] = $tag[1]; 
    102108                    continue; 
    103109                } 
     
    244250 
    245251            $cat_ID = wp_insert_category($catarr); 
     252        } 
     253    } 
     254 
     255    function process_tags() { 
     256        global $wpdb; 
     257 
     258        $tag_names = (array) get_terms('post_tag', 'fields=names'); 
     259 
     260        while ( $c = array_shift($this->tags) ) { 
     261            $tag_name = trim($this->get_tag( $c, 'wp:tag_name' )); 
     262 
     263            // If the category exists we leave it alone 
     264            if ( in_array($tag_name, $tag_names) ) 
     265                continue; 
     266 
     267            $slug = $this->get_tag( $c, 'wp:tag_slug' ); 
     268            $description = $this->get_tag( $c, 'wp:tag_description' ); 
     269 
     270            $tagarr = compact('slug', 'description'); 
     271 
     272            $tag_ID = wp_insert_term($tag_name, 'post_tag', $tagarr); 
    246273        } 
    247274    } 
     
    392419        $this->get_entries(); 
    393420        $this->process_categories(); 
     421        $this->process_tags(); 
    394422        $result = $this->process_posts(); 
    395423        if ( is_wp_error( $result ) ) 
Note: See TracChangeset for help on using the changeset viewer.