WordPress.org

Make WordPress Core

Ticket #10776: xmlrpc.patch

File xmlrpc.patch, 1.8 KB (added by dheerg, 9 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']);