Changeset 8922
- Timestamp:
- 09/18/2008 05:34:37 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/query.php
r8807 r8922 2007 2007 // Used to filter values 2008 2008 $allowed_keys = array('author', 'date', 'category', 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand'); 2009 if ( !empty($q['meta_key']) ) { 2010 $allowed_keys[] = $q['meta_key']; 2011 $allowed_keys[] = 'meta_value'; 2012 } 2009 2013 $q['orderby'] = urldecode($q['orderby']); 2010 2014 $q['orderby'] = addslashes_gpc($q['orderby']); … … 2025 2029 $orderby = 'RAND()'; 2026 2030 break; 2031 case $q['meta_key']: 2032 case 'meta_value': 2033 $orderby = "$wpdb->postmeta.meta_value"; 2034 break; 2027 2035 default: 2028 2036 $orderby = "$wpdb->posts.post_" . $orderby; … … 2110 2118 $join .= " LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) "; 2111 2119 if ( ! empty($q['meta_key']) ) 2112 $where .= $wpdb->prepare("AND $wpdb->postmeta.meta_key = %s ", $q['meta_key']); 2113 if ( ! empty($q['meta_value']) ) 2114 $where .= $wpdb->prepare("AND $wpdb->postmeta.meta_value = %s ", $q['meta_value']); 2120 $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s ", $q['meta_key']); 2121 if ( ! empty($q['meta_value']) ) { 2122 if ( ! isset($q['meta_compare']) || empty($q['meta_compare']) || ! in_array($q['meta_compare'], array('=', '!=', '>', '>=', '<', '<=')) ) 2123 $q['meta_compare'] = '='; 2124 2125 $where .= $wpdb->prepare("AND $wpdb->postmeta.meta_value {$q['meta_compare']} %s ", $q['meta_value']); 2126 } 2115 2127 2116 2128 // Apply filters on where and join prior to paging so that any … … 2183 2195 $orderby = apply_filters('posts_orderby', $orderby); 2184 2196 $distinct = apply_filters('posts_distinct', $distinct); 2197 $limits = apply_filters( 'post_limits', $limits ); 2198 2199 if ( ! empty($q['meta_key']) ) 2200 $fields = "$fields, $wpdb->postmeta.meta_value"; 2201 2185 2202 $fields = apply_filters('posts_fields', $fields); 2186 $limits = apply_filters( 'post_limits', $limits );2187 2203 } 2188 2204
Note: See TracChangeset
for help on using the changeset viewer.