WordPress.org

Make WordPress Core

Ticket #29424: 29424.diff

File 29424.diff, 1.2 KB (added by jesin, 4 years ago)

Remove duplicate orderby column names

  • wp-includes/query.php

     
    28182818                        $orderby = "FIELD( {$wpdb->posts}.post_parent, $post_parent__in )";
    28192819                } else {
    28202820                        $orderby_array = array();
     2821                        $parsed_array = array();
    28212822                        if ( is_array( $q['orderby'] ) ) {
    28222823                                foreach ( $q['orderby'] as $_orderby => $order ) {
    28232824                                        $orderby = addslashes_gpc( urldecode( $_orderby ) );
     
    28272828                                                continue;
    28282829                                        }
    28292830
     2831                                        if ( in_array( $parsed, $parsed_array ) ) {
     2832                                                continue;
     2833                                        }
     2834
    28302835                                        $orderby_array[] = $parsed . ' ' . $this->parse_order( $order );
     2836                                        $parsed_array[] = $parsed;
    28312837                                }
    28322838                                $orderby = implode( ', ', $orderby_array );
    28332839
     
    28422848                                                continue;
    28432849                                        }
    28442850
     2851                                        if ( in_array( $parsed, $orderby_array ) ) {
     2852                                                continue;
     2853                                        }
     2854
    28452855                                        $orderby_array[] = $parsed;
    28462856                                }
    2847                                 $orderby = implode( ' ' . $q['order'] . ', ', $orderby_array );
     2857                                $orderby = implode( ' ' . $q['order'] . ', ', $orderby_array ) . ' ' . $q['order'];
    28482858
    28492859                                if ( empty( $orderby ) ) {
    28502860                                        $orderby = "$wpdb->posts.post_date ".$q['order'];