Query: Ensure that queries work correctly with post type names with special characters.
Merge of [39952] to the 4.3 branch. Built from https://develop.svn.wordpress.org/branches/4.3@39960 git-svn-id: http://core.svn.wordpress.org/branches/4.3@39897 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
b1b62d3ccd
commit
f6e6b58725
|
@ -2941,14 +2941,15 @@ class WP_Query {
|
||||||
|
|
||||||
if ( 'any' == $post_type ) {
|
if ( 'any' == $post_type ) {
|
||||||
$in_search_post_types = get_post_types( array('exclude_from_search' => false) );
|
$in_search_post_types = get_post_types( array('exclude_from_search' => false) );
|
||||||
if ( empty( $in_search_post_types ) )
|
if ( empty( $in_search_post_types ) ) {
|
||||||
$where .= ' AND 1=0 ';
|
$where .= ' AND 1=0 ';
|
||||||
else
|
} else {
|
||||||
$where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $in_search_post_types ) . "')";
|
$where .= " AND {$wpdb->posts}.post_type IN ('" . join( "', '", array_map( 'esc_sql', $in_search_post_types ) ) . "')";
|
||||||
|
}
|
||||||
} elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
|
} elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
|
||||||
$where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $post_type) . "')";
|
$where .= " AND {$wpdb->posts}.post_type IN ('" . join("', '", esc_sql( $post_type ) ) . "')";
|
||||||
} elseif ( ! empty( $post_type ) ) {
|
} elseif ( ! empty( $post_type ) ) {
|
||||||
$where .= " AND $wpdb->posts.post_type = '$post_type'";
|
$where .= $wpdb->prepare( " AND {$wpdb->posts}.post_type = %s", $post_type );
|
||||||
$post_type_object = get_post_type_object ( $post_type );
|
$post_type_object = get_post_type_object ( $post_type );
|
||||||
} elseif ( $this->is_attachment ) {
|
} elseif ( $this->is_attachment ) {
|
||||||
$where .= " AND $wpdb->posts.post_type = 'attachment'";
|
$where .= " AND $wpdb->posts.post_type = 'attachment'";
|
||||||
|
|
Loading…
Reference in New Issue