WordPress.org

Make WordPress Core

Ticket #6035: wp-cat2tag.diff

File wp-cat2tag.diff, 1.5 KB (added by sillybean, 10 years ago)
  • wp-cat2tag.php

     
    107107<ul style="list-style:none">
    108108
    109109<?php   $hier = _get_term_hierarchy('category');
     110                 $default = get_option('default_category');
    110111
    111112                foreach ($this->all_categories as $category) {
    112113                        $category = sanitize_term( $category, 'category', 'display' );
    113114
    114                         if ( (int) $category->parent == 0 ) { ?>
     115                        if ( ((int) $category->parent == 0 ) && ( $category->term_id != $default )) { ?>
    115116
    116117        <li><label><input type="checkbox" name="cats_to_convert[]" value="<?php echo intval($category->term_id); ?>" /> <?php echo $category->name . ' (' . $category->count . ')'; ?></label><?php
    117118
     
    222223                        return false;
    223224                }
    224225        }
     226       
     227        function set_default_category() {
     228                global $wpdb;
     229                $default = get_option('default_category');
     230                $allposts = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_type = 'post'");
     231                foreach ($allposts as $thispost) {
     232                        $terms = array();
     233                        $terms = wp_get_post_categories($thispost->ID);
     234                        if (empty($terms))
     235                                wp_set_post_categories($thispost->ID, $default);
     236                }
     237                echo __('Set default category on orphaned posts.')
     238        }
    225239
    226240        function convert_categories() {
    227241                global $wpdb;
     
    320334                        }
    321335                }
    322336                echo '</ul>';
     337               
     338                $this->set_default_category();
    323339
    324340                if ( ! empty($clean_term_cache) ) {
    325341                        $clean_term_cache = array_unique(array_values($clean_term_cache));