Ticket #23261: 23261.patch

File 23261.patch, 2.1 KB (added by wpsmith, 4 months ago)

First pass.

  • wp-includes/taxonomy.php

     
    12521252                return $cache; 
    12531253        } 
    12541254 
    1255         $_orderby = strtolower($orderby); 
    1256         if ( 'count' == $_orderby ) 
    1257                 $orderby = 'tt.count'; 
    1258         else if ( 'name' == $_orderby ) 
    1259                 $orderby = 't.name'; 
    1260         else if ( 'slug' == $_orderby ) 
    1261                 $orderby = 't.slug'; 
    1262         else if ( 'term_group' == $_orderby ) 
    1263                 $orderby = 't.term_group'; 
    1264         else if ( 'none' == $_orderby ) 
    1265                 $orderby = ''; 
    1266         elseif ( empty($_orderby) || 'id' == $_orderby ) 
    1267                 $orderby = 't.term_id'; 
    1268         else 
    1269                 $orderby = 't.name'; 
    1270  
    1271         $orderby = apply_filters( 'get_terms_orderby', $orderby, $args ); 
    1272  
    1273         if ( !empty($orderby) ) 
    1274                 $orderby = "ORDER BY $orderby"; 
    1275         else 
    1276                 $order = ''; 
    1277  
    1278         $order = strtoupper( $order ); 
    1279         if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) ) 
    1280                 $order = 'ASC'; 
    1281  
    12821255        $where = "tt.taxonomy IN ('" . implode("', '", $taxonomies) . "')"; 
    12831256        $inclusions = ''; 
    12841257        if ( !empty($include) ) { 
     
    13591332                $search = like_escape($search); 
    13601333                $where .= $wpdb->prepare( " AND (t.name LIKE %s)", '%' . $search . '%'); 
    13611334        } 
     1335         
     1336        $_orderby = strtolower($orderby); 
     1337        if ( 'count' == $_orderby ) 
     1338                $orderby = 'tt.count'; 
     1339        else if ( 'name' == $_orderby ) 
     1340                $orderby = 't.name'; 
     1341        else if ( 'slug' == $_orderby ) 
     1342                $orderby = 't.slug'; 
     1343        else if ( 'include' == $_orderby && ! empty( $include ) ) { 
     1344                $include = implode(',', array_map( 'absint', $include )); 
     1345                $orderby = "FIELD( t.term_id, $include )"; 
     1346        } 
     1347        else if ( 'term_group' == $_orderby ) 
     1348                $orderby = 't.term_group'; 
     1349        else if ( 'none' == $_orderby ) 
     1350                $orderby = ''; 
     1351        elseif ( empty($_orderby) || 'id' == $_orderby ) 
     1352                $orderby = 't.term_id'; 
     1353        else 
     1354                $orderby = 't.name'; 
    13621355 
     1356        $orderby = apply_filters( 'get_terms_orderby', $orderby, $args ); 
     1357 
     1358        if ( !empty($orderby) ) 
     1359                $orderby = "ORDER BY $orderby"; 
     1360        else 
     1361                $order = ''; 
     1362 
     1363        $order = strtoupper( $order ); 
     1364        if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) ) 
     1365                $order = 'ASC'; 
     1366 
    13631367        $selects = array(); 
    13641368        switch ( $fields ) { 
    13651369                case 'all':