Query component

The Query component includes the following:

  • WP_Query, WP_User_Query, and WP_Comment_Query. These are the three APIs that WordPress offers for constructing complex data queries.
  • Template functions used to deterimine the kind of page currently being requested. These are the is_*() functions – is_month(), is_single(), and so on.
  • WP_Meta_Query, WP_Tax_Query, and WP_Date_Query. These are helper classes, used by the main query classes as well as third-party plugins, to construct SQL clauses related to metadata, taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. terms, and date ranges.

Projects for future releases

  • Improved caching. Most queries are currently cached at the level of individual items (posts, users, etc), but the IDs that result from the query are uncached. See #22176 for an example.
  • The query classes, and particularly WP_Query, contain lots of legacy code that causes problems in edge cases, makes unit testing difficult, and so on. There are various initiatives underway to clean up some of these problems. See #30911 for an example related to post_status.


Recent posts on the make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blogblog (versus network, site)

View all posts tagged query.

253 open tickets in the Query component

253 open tickets defect (bug) enhancement feature request
24 31 2
6.7 1 0 0
Awaiting Review 101 33 9
Future Release 29 21 2

253 open tickets. Last 7 days: -1 ticketticket Created for both bug reports and feature development on the bug tracker.

64 tickets that have no replies

View list on Trac

  • #30994  Offset return for wp_get_archives
  • #36309  Timezone issue in WP_Date_Query->build_mysql_datetime
  • #36670  Move CAST to right-hand side of comparison in metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. query
  • #36966  Search is not working with soft hyphen symbols
  • #37489  If Posts have the same datetime, the order of the post is indefinite.
  • #39428  Die fast in get_posts if get_user_by returns false
  • #39632  Adding Query identifier attribute ui
  • #39914  'orderby' date results differs depend on 'post_status'
  • #40300  `title` parameter causes `WP_Query` to return sticky posts.
  • #40327  Wrong SQL request for 'EXIST' OR 'NOT EXIST' on same post meta
  • #40404  Slow queries with a large number of posts (tens of thousands and above) performance
  • #40903  Filtered posts_request query can break found_posts query
  • #40984  Possible Bug with Named Orderby Meta Query SQL
  • #41678  Make sure all field returns use filters in WP Query
  • #41843  Provide more flexibility to the `get_{$adjacent}_post_where` hook
  • #42082  Support compare custom fields in WP_Meta_Query
  • #42732  Problem with usage of WP_Term_Query inside WP_Tax_Query
  • #43324  query_vars is not necessarely representative of the final query_vars used to build the SQL query
  • #43445  Wildcard `LIKE` support for `WP_Meta_Query` (and maybe other queries?)
  • #43634  WP_Query returns wrong result if 10+ search terms and all negative.
  • #43842  get_children() function enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature..
  • #44372  WP_Query cannot properly order by nested Parent/Child relationships
  • #44519  Where are the pages of the headings added with the + add-on (any) ala https://wp-kama.ru/cat/wordpress/codex+xxx
  • #44602  meta_query to support FIND_IN_SET
  • #44964  `redirect_guess_404_permalink` doesn't support array in `post_type` var
  • #45376  Search not working as described in codex
  • #45400  last of query_vars contains anchor
  • #46285  Search colums of WP User Query vars is not updated after applying user_search_columns filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.
  • #46347  WP_Term_Query where sql_clauses oddity
  • #47009  WP_Query bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. with author=0
  • #47211  using amp in search show all post / pages with the &
  • #47493  Meta Query Sorting with relation => OR not behaving as expected
  • #47694  Adding a filter for $searchand variable
  • #48020  Queries display in inconsistent order when ordering by meta_value_num
  • #48029  WP_Query::query only using a single post_status
  • #48768  WordPress 5.3 ajax bug with Elementor 2.7.5 javascriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.
  • #49057  Add tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) for any WP_Query for simple access in pre_get_post action
  • #49168  is_post_type_archive( $post_types = '' ) doesn't work with underscore (_) template
  • #49284  WP_Meta_Query's 'compare_key' does not support 'NOT EXISTS' when used with WP_User_Query
  • #49555  Reorder WP_Query methods for a more logical placement
  • #49911  WP_Tax_Query generates incorrect SQL
  • #50598  Replace developer.w.org instead of Codex on is_main_query function message
  • #51794  An author_name query with nonexistent user returns posts with no author
  • #52971  WP_Query's meta_query With Multiple EXISTS keys and OR Relation Doesn't Work Properly
  • #53495  incorrect (and confusing) DocBlockdocblock (phpdoc, xref, inline docs) for get_page_by_title() docs
  • #54268  Using `author_name` in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parameter gives unexpected results when logged into contributor account administration
  • #54436  Sorting issue- when sorting via a custom meta key
  • #55649  BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Query with full post content do not display properly
  • #55748  wp_query post_type taxonomies doesn't accept array in url if hierarchical
  • #56081  Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block with selection causes Sticky Posts setting to be ignored
  • #56168  Add a way easily perform advanced post fields queries
  • #56992  The Loop displays incorrect data for queries started with `fields => 'id=>parent'`.
  • #57412  Uncaught TypeError: Cannot read properties of undefined (reading 'length'): jquery migrate
  • #57505  categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. archive url ending with "/0" should be 404
  • #57766  filter query_loop_block_query_vars repeater 4 times
  • #58553  Two query blocks on home template (FSE) breaks the second one
  • #58806  Unexpected ordering result when ordering based on multiple clauses
  • #60027  Post patterns show no posts
  • #60154  Add filter hook to either get_post_stati or WP_List_Util::filter
  • #60274  Query loop showing too many posts
  • #60468  WP_Query matches any post when query parameter "name" is an empty string
  • #60490  Add 'author__in' option to WP_Query 'orderby' options
  • #60984  WP_Query is returning the two same post instead of one
  • #61008  Allow searching of extra post fields

1 ticket slated for 6.7

View list in Trac

  • #60745  WP_Query::parse_query() does not handle invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. query arg values

253 open tickets

Open enhancements: 85 View list on Trac
Open tasks: 0 View list on Trac
Open feature requests: 13 View list on Trac
Open defects: 155 View list on Trac

Help maintain this component

Component maintainers:

Many contributors help maintain one or more components. These maintainers are vital to keeping WordPress development running as smoothly as possible. They triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors. Longtime maintainers with a deep understanding of particular areas of Core are always seeking to mentor others to impart their knowledge.

Want to help? Start following this component! Adjust your notifications here. Feel free to dig into any ticket.

Contributors following this component: