WordPress.org

Make WordPress Core

Ticket #10776: xmlrpc.patch

File xmlrpc.patch, 1.8 KB (added by dheerg, 5 years ago)
  • xmlrpc.php

     
    368368                        } 
    369369                } 
    370370        } 
     371         
     372        /** 
     373         * Set taxonomies for post 
     374         * 
     375         * @custom code since 2.8.4 added by Dheer Gupta http://webdisect.com 
     376         * 
     377         * @param int $post_id Post ID. 
     378         * @param array $fields Taxonomy Fields 
     379         * Enter Values as array 
     380         * array ( 'tags' => '', 'taxonomy' => '' ) 
     381         */ 
     382        function set_new_taxonomy_tag($post_id, $fields) { 
     383                $post_id = (int) $post_id; 
     384                 
     385                foreach ( (array) $fields as $tax ) { 
     386                        if ( isset($tax['id']) ) { 
     387                                $tax['id'] = (int) $tax['id']; 
     388                                 
     389                                if ( isset($tax['taxonomy']) ) { 
     390                                        wp_set_post_terms($tax['id'], $tax['tags'], $tax['taxonomy']); 
     391                                } 
     392                        }        
     393                        elseif ($post_id != '') { 
     394                         
     395                                if ( isset($tax['taxonomy']) ) { 
     396                                        wp_set_post_terms($post_id, $tax['tags'], $tax['taxonomy']); 
     397                                }                        
     398                        } 
     399                } 
     400        } 
    371401 
    372402        /** 
    373403         * Setup blog options property. 
     
    22382268                if ( isset($content_struct['custom_fields']) ) { 
    22392269                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']); 
    22402270                } 
     2271                 
     2272                //insert taxonomies 
     2273                if ( isset($content_struct['mt_taxonomy']) ) { 
     2274                        $this->set_new_taxonomy_tag($post_ID, $content_struct['mt_taxonomy']); 
     2275                } 
    22412276 
    22422277                // Handle enclosures 
    22432278                $this->add_enclosure_if_new($post_ID, $content_struct['enclosure']); 
     
    25452580                if ( isset($content_struct['custom_fields']) ) { 
    25462581                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']); 
    25472582                } 
     2583                 
     2584                //insert taxonomies 
     2585                if ( isset($content_struct['mt_taxonomy']) ) { 
     2586                        $this->set_new_taxonomy_tag($post_ID, $content_struct['mt_taxonomy']); 
     2587                } 
    25482588 
    25492589                // Handle enclosures 
    25502590                $this->add_enclosure_if_new($post_ID, $content_struct['enclosure']);