WordPress.org

Make WordPress Core

Ticket #31122: query.php.patch

File query.php.patch, 1.6 KB (added by Funkatronic, 6 years ago)
  • query.php

     
    22302230                        'post_parent', 'post_type', 'name', 'author', 'date', 'title', 'modified',
    22312231                        'parent', 'type', 'ID', 'menu_order', 'comment_count', 'rand',
    22322232                );
     2233               
     2234                $allowed_keys = apply_filters( 'allowed_orderby_keys', $allowed_keys );
    22332235
    22342236                $primary_meta_key = '';
    22352237                $primary_meta_query = false;
     
    22602262                        case 'ID':
    22612263                        case 'menu_order':
    22622264                        case 'comment_count':
    2263                                 $orderby = "$wpdb->posts.{$orderby}";
     2265                                $orderby_clause = "$wpdb->posts.{$orderby}";
    22642266                                break;
    22652267                        case 'rand':
    2266                                 $orderby = 'RAND()';
     2268                                $orderby_clause = 'RAND()';
    22672269                                break;
    22682270                        case $primary_meta_key:
    22692271                        case 'meta_value':
    22702272                                if ( ! empty( $primary_meta_query['type'] ) ) {
    22712273                                        $sql_type = $this->meta_query->get_cast_for_type( $primary_meta_query['type'] );
    2272                                         $orderby = "CAST($wpdb->postmeta.meta_value AS {$sql_type})";
     2274                                        $orderby_clause = "CAST($wpdb->postmeta.meta_value AS {$sql_type})";
    22732275                                } else {
    2274                                         $orderby = "$wpdb->postmeta.meta_value";
     2276                                        $orderby_clause = "$wpdb->postmeta.meta_value";
    22752277                                }
    22762278                                break;
    22772279                        case 'meta_value_num':
    2278                                 $orderby = "$wpdb->postmeta.meta_value+0";
     2280                                $orderby_clause = "$wpdb->postmeta.meta_value+0";
    22792281                                break;
    22802282                        default:
    2281                                 $orderby = "$wpdb->posts.post_" . $orderby;
     2283                                $orderby_clause = "$wpdb->posts.post_" . $orderby;
    22822284                                break;
    22832285                }
    2284 
    2285                 return $orderby;
     2286               
     2287                return apply_filters( 'parse_orderby', $orderby_clause, $orderby );
    22862288        }
    22872289
    22882290        /**