As @Milo pointed out in the comments above, custom post types and taxonomies are registered on init, so this would seem to be the earliest hook available that is guaranteed to work for all content.
Related Posts:
- Is it possible to completely stop WP_Query retrieving posts?
- Hook/action after WP_Query gets posts to query custom tables for post-related meta
- Want to redirect if search query match exact title of any post
- Overriding The Loop with filter or hook
- Identify which loop you are hooking into; primary or secondary?
- Best practice custom function, where to echo the variables?
- How to change posts order on Category and Tag archives?
- is_search was called incorrectly
- How to choose between hooking into per_get_posts or into parse_query
- How to use filter hook “the_posts” with a function that refers to $this?
- How to delete taxonomy term when a wordpress user is removed?
- How to filter, restrict and return posts based on custom user meta information
- How to use the query hook/filter?
- Set global $wp_query/$post variable for dynamic page generation
- How can I override one post and make it display content for another post?
- queried_object using pre_get_posts gets notices and warning
- Utilising an existing page while using the “s” query parameter
- Elementor posts custom query based on tag [closed]
- WP_Query retuning empty array in rest api
- SEARCH QUERY PLEASE HELP | call_user_func_array() expects parameter 1 to be a valid callback php
- remove_action – pre_get_posts – does not restore original query
- Rewrite rule pagination on different url levels
- $wp_query when new WP_Query
- How to short circuit a wordpress query that is not related to posts?
- get_meta_sql hook is not firing
- How to choose between hooking into pre_get_posts or into parse_query
- When should you use WP_Query vs query_posts() vs get_posts()?
- When to use WP_query(), query_posts() and pre_get_posts
- WP_Query by just the id?
- Meta_query compare operator explanation
- WP_Query with “post_title LIKE ‘something%'”?
- wp query to get child pages of current page
- How to get an array of post data from wp_query result?
- How to get post id of static front page?
- meta_query with meta values as serialize arrays
- How to only display posts whose meta_value field is not empty?
- Get post ids from WP_Query?
- Pagination when using wp_query?
- Exclude post ID from wp_query
- How to print the excuted sql right after its execution
- How to extend WP_Query to include custom table in query?
- How to store and receive variables in WP sessions?
- Should I use Pre Get Posts or WP_Query
- How can i retrieve default post per page value? from settings->reading. And total number of posts?
- Nested meta_query with multiple relation keys
- Is it necessary to use wp_reset_query() in a WP_Query call?
- Can I force WP_Query to return no results?
- Can wp_query return posts meta in a single request?
- Using pre_get_posts with WP_Query
- Find out total number of pages in global query on archive page?
- WP_Query + random
- Resetting post data to previous loop in nested loops
- order by numeric value for meta value
- numberposts? showposts? posts_per_page?
- $GLOBALS[‘wp_the_query’] vs global $wp_query
- Broken? WP_Query and “attachment” as a post type
- Some doubts about how the main query and the custom query works in this custom theme?
- Order by multiple meta key and meta value [closed]
- Post_count only shows the number of results per page
- Page template query with WP_Query
- meta_query ‘compare’ => ‘IN’ not working
- Query posts only with featured image
- Wp get all the sub pages of the parent using wp query
- What is appropriate flow for custom data from URL in WP_Query?
- How to display page content in a page template?
- Ignoring initial articles (like ‘a’, ‘an’ or ‘the’) when sorting queries?
- How to merge two queries together
- Posts with at least 3 tags of a list of tags
- Get post count of current loop when using multiple queries on one page
- why ignore_sticky_posts in sticky post query
- Wp_redirect and sending variables
- Multiple relationship for multiple tax_query in WP_Query
- How do I get posts that have a thumbnail in WP_Query?
- Multiple WP_Query loops with Pagination
- How do I query for posts by partial meta key?
- Pagination with custom SQL query
- Return only Count from a wp_query request?
- Using a custom WP_Query with get_template_part loop
- Use REGEXP in WP_Query meta_query key
- Why is the loop not empty on some 404s?
- WP_Query orderby post__in remains ineffective in the Loop [closed]
- WP Query Args – Title or Meta Value
- How to query for most viewed posts and show top 5
- WP_Query orderby date not working
- WordPress Pagination Not Working – Always Showing First Pages Content
- Best way to detect if you are in a SINGLE POST page
- Meta query with string starting like pattern
- WP Query where title begins with a specific letter
- WordPress tax_query “and” operator not functioning as desired
- compare meta_query in get_posts arguments
- Custom taxonomy query broken after upgrade to 4.4
- WordPress retrieving meta data for all custom post types in list view
- How to query posts based on lat-lng coordinate as post meta?
- How to use the_posts_navigation for wp_query and get_posts?
- WP_Query vs get_posts
- how to show posts that are missing a meta_value
- What is “main query”? [duplicate]
- Use the page slug in a WP_Query?
- Order by optional meta key?
- Set Alias for meta_query arguments in get_posts()