WordPress.org

Make WordPress Core

Ticket #10393: 10393.patch

File 10393.patch, 2.0 KB (added by azaozz, 6 years ago)
  • wp-includes/category-template.php

     
    604604 
    605605        if ( !isset( $args['topic_count_text_callback'] ) && isset( $args['single_text'] ) && isset( $args['multiple_text'] ) ) { 
    606606                $body = 'return sprintf ( 
    607                         _n('.var_export($args['single_text'], true).', '.var_export($args['multiple_text'], true).', $count), 
     607                        _n(' . var_export($args['single_text'], true) . ', ' . var_export($args['multiple_text'], true) . ', $count), 
    608608                        number_format_i18n( $count ));'; 
    609609                $args['topic_count_text_callback'] = create_function('$count', $body); 
    610610        } 
    611611 
    612612        $args = wp_parse_args( $args, $defaults ); 
    613  
    614613        extract( $args ); 
    615614 
    616615        if ( empty( $tags ) ) 
    617616                return; 
    618617 
    619         // SQL cannot save you; this is a second (potentially different) sort on a subset of data. 
    620         if ( 'name' == $orderby ) 
    621                 uasort( $tags, create_function('$a, $b', 'return strnatcasecmp($a->name, $b->name);') ); 
    622         else 
    623                 uasort( $tags, create_function('$a, $b', 'return ($a->count > $b->count);') ); 
     618        if ( 'RAND' == $order ) { 
     619                shuffle($tags); 
     620        } else { 
     621                // SQL cannot save you; this is a second (potentially different) sort on a subset of data. 
     622                if ( 'name' == $orderby ) 
     623                        uasort( $tags, create_function('$a, $b', 'return strnatcasecmp($a->name, $b->name);') ); 
     624                else 
     625                        uasort( $tags, create_function('$a, $b', 'return ($a->count > $b->count);') ); 
    624626 
    625         $tags = apply_filters( 'tag_cloud_sort', $tags, $args ); 
    626  
    627         if ( 'DESC' == $order ) 
    628                 $tags = array_reverse( $tags, true ); 
    629         elseif ( 'RAND' == $order ) { 
    630                 $keys = (array) array_rand( $tags, count( $tags ) ); 
    631                 $temp = array(); 
    632                 foreach ( $keys as $key ) 
    633                         $temp[$key] = $tags[$key]; 
    634  
    635                 $tags = $temp; 
    636                 $temp = null; 
    637                 unset( $temp ); 
     627                if ( 'DESC' == $order ) 
     628                        $tags = array_reverse( $tags, true ); 
    638629        } 
    639630 
     631        $tags = apply_filters( 'tag_cloud_sort', $tags, $args ); 
     632 
    640633        if ( $number > 0 ) 
    641634                $tags = array_slice($tags, 0, $number); 
    642635