﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
19631	Consider a doing_it_wrong call for query_posts()	johnbillion		"The `query_posts()` function affects the main query, so things (like template conditionals) can break if plugins or themes use it without calling `wp_reset_query()` immediately afterwards.

Unless there is a situation I haven't considered, `query_posts()` shouldn't be used at all on requests where the main query is run (`query_posts()` of course has a use in situations like AJAX calls when the main query isn't run).

 * For secondary loops, `get_posts()` or the `WP_Query()` class should be used.
 * To modify the main query, there are hooks all over the place, such as 'request', 'parse_request', 'parse_query', and 'pre_get_posts', in addition to the SQL filters such as 'posts_where', 'posts_join', etc.

Maybe `doing_it_wrong()` should be called if `query_posts()` is used after the main query is run, with pointers toward a relevant Codex article on secondary loops or filtering the main loop.
"	enhancement	new	normal	Awaiting Review	Query		minor			scribu
