WordPress.org

Make WordPress Core

Ticket #6810: 6810.diff

File 6810.diff, 3.5 KB (added by mdawaffe, 10 years ago)
  • wp-includes/script-loader.php

     
    144144                                'save' => __('Save'),
    145145                                'cancel' => __('Cancel'),
    146146                        ) );
    147                         $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080411' );
     147                        $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080422' );
    148148                        $this->localize( 'post', 'postL10n', array(
    149149                                'tagsUsed' =>  __('Tags used on this post:'),
    150150                                'add' => attribute_escape(__('Add')),
  • wp-admin/admin-ajax.php

     
    162162                if ( $parent ) // Do these all at once in a second
    163163                        continue;
    164164                $category = get_category( $cat_id );
    165                 $checked_categories[] = $cat_id;
    166165                ob_start();
    167                         dropdown_categories( 0, $category );
     166                        wp_category_checklist( 0, $cat_id, $checked_categories );
    168167                $data = ob_get_contents();
    169168                ob_end_clean();
    170169                $x->add( array(
  • wp-admin/includes/template.php

     
    148148        }
    149149}
    150150
    151 function wp_category_checklist( $post_id = 0 ) {
     151function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false ) {
    152152        $walker = new Walker_Category_Checklist;
     153        $descendants_and_self = (int) $descendants_and_self;
    153154
    154155        $args = array();
    155156       
     
    157158                $args['selected_cats'] = wp_get_post_categories($post_id);
    158159        else
    159160                $args['selected_cats'] = array();
    160         $args['popular_cats'] = get_terms( 'category', array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10 ) );
    161         $categories = get_categories('get=all');
     161        if ( is_array( $selected_cats ) )
     162                $args['selected_cats'] = $selected_cats;
     163        $args['popular_cats'] = get_terms( 'category', array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
     164        if ( $descendants_and_self ) {
     165                $categories = get_categories( "child_of=$descendants_and_self&hierarchical=0&hide_empty=0" );
     166                $self = get_category( $descendants_and_self );
     167                array_unshift( $categories, $self );
     168        } else {
     169                $categories = get_categories('get=all');
     170        }
     171
    162172        $args = array($categories, 0, $args);
    163173        $output = call_user_func_array(array(&$walker, 'walk'), $args);
    164174
     
    166176}
    167177
    168178function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10 ) {
    169         $categories = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number ) );
     179        $categories = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) );
    170180
    171181        $popular_ids = array();
    172182        foreach ( (array) $categories as $category ) {
  • wp-admin/js/post.js

     
    131131                                var th = jQuery(this);
    132132                                var val = th.find('input').val();
    133133                                var id = th.find('input')[0].id
    134                                 jQuery('#' + id).change( syncChecks );
     134                                jQuery('#' + id).change( syncChecks ).change();
    135135                                if ( newCatParent.find( 'option[value=' + val + ']' ).size() )
    136136                                        return;
    137137                                var name = jQuery.trim( th.text() );