Make WordPress Core

Ticket #36515: query.diff

File query.diff, 1.2 KB (added by postpostmodern, 9 years ago)

Patch for wp-includes/query.php

  • src/wp-includes/query.php

     
    27452745                        $where .= " AND $wpdb->posts.post_name = '" . $q['attachment'] . "'";
    27462746                } elseif ( is_array( $q['post_name__in'] ) && ! empty( $q['post_name__in'] ) ) {
    27472747                        $q['post_name__in'] = array_map( 'sanitize_title_for_query', $q['post_name__in'] );
    2748                         $where .= " AND $wpdb->posts.post_name IN ('" . implode( "' ,'", $q['post_name__in'] ) . "')";
     2748                        $post_name__in = "'".implode( "' ,'", $q['post_name__in'] )."'";
     2749                        $where .= " AND $wpdb->posts.post_name IN ($post_name__in)";
    27492750                }
    27502751
    27512752                // If an attachment is requested by number, let it supersede any post number.
     
    29632964                        $orderby = "FIELD( {$wpdb->posts}.ID, $post__in )";
    29642965                } elseif ( $q['orderby'] == 'post_parent__in' && ! empty( $post_parent__in ) ) {
    29652966                        $orderby = "FIELD( {$wpdb->posts}.post_parent, $post_parent__in )";
     2967                } elseif ( $q['orderby'] == 'post_name__in' && ! empty( $post_name__in ) ) {
     2968                        $orderby = "FIELD( {$wpdb->posts}.post_name, $post_name__in )";
    29662969                } else {
    29672970                        $orderby_array = array();
    29682971                        if ( is_array( $q['orderby'] ) ) {