get_results( $wpdb->prepare( " SELECT $cols FROM {$wpdb->posts} p WHERE NOT EXISTS ( SELECT pm.* FROM {$wpdb->postmeta} pm WHERE p.ID = pm.post_id AND pm.meta_key = '%s' ) AND p.post_type = '%s' AND p.post_status = '%s' ", $meta_key, $post_type, $post_status ) ); // get_col is nicer for single column selection (less data to traverse) else $result = $wpdb->get_col( $wpdb->prepare( " SELECT $cols FROM {$wpdb->posts} p WHERE NOT EXISTS ( SELECT pm.* FROM {$wpdb->postmeta} pm WHERE p.ID = pm.post_id AND pm.meta_key = '%s' ) AND p.post_type = '%s' AND p.post_status = '%s' ", $meta_key, $post_type, $post_status ) ); return $result; } /* Example - fetch posts with given meta, then pass to get_posts ----------------- '; endforeach; wp_reset_query(); ?> */ ?>