WordPress.org

Make WordPress Core

Ticket #10791: multiple-post-types.patch

File multiple-post-types.patch, 1.0 KB (added by prettyboymp, 9 years ago)

latest patch with IN statement

  • query.php

     
    14861486                        }
    14871487                }
    14881488
    1489                 if ( !empty($qv['post_type']) )
    1490                         $qv['post_type'] = sanitize_user($qv['post_type'], true);
     1489                if ( !empty($qv['post_type']) ) {
     1490                        if(is_array($qv['post_type']))
     1491                                $qv['post_type'] = array_map('sanitize_user', $qv['post_type'], array(true));
     1492                        else
     1493                                $qv['post_type'] = sanitize_user($qv['post_type'], true);
     1494                }
    14911495
    14921496                if ( !empty($qv['post_status']) )
    14931497                        $qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']);
     
    20722076
    20732077                if ( 'any' == $post_type ) {
    20742078                        $where .= " AND $wpdb->posts.post_type != 'revision'";
     2079                } elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
     2080                        $where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $post_type) . "')";
    20752081                } elseif ( ! empty( $post_type ) ) {
    20762082                        $where .= " AND $wpdb->posts.post_type = '$post_type'";
    20772083                } elseif ( $this->is_attachment ) {