I know this is an old question, but it is a bit confusing and hopefully will help someone. The reason that `$query->set doesn’t work is because the query has already been parsed and now we need to also update the tax_query object also. Here is how I did it:
function my_tax_query( $query ) {
$package_id = 12345;
$tax_query = array(
'taxonomy' => 'package_id',
'terms' => array( $package_id ),
'field' => 'slug',
'operator' => 'IN',
);
$query->tax_query->queries[] = $tax_query;
$query->query_vars['tax_query'] = $query->tax_query->queries;
}
add_action( 'pre_get_posts', 'my_tax_query' );
Related Posts:
- Removing taxonomy query by pre_get_posts
- Modify Taxonomy pages to exclude items in child taxonomies
- Extend taxonomy term page with other posts
- Sticky Posts exceed posts per page limit
- Theres a way to use $query->set(‘tax_query’ in pre_get_posts filter?
- Obliterate the main query and replace it
- Post injection – how to exclude the original post
- Adding meta_key via pre_get_posts causes navigation to disappear
- Sorting posts that has a meta value first then the rest of the posts
- pre_get_posts on a page
- How pre_get_posts filter by roles in WP Admin
- Weird problem with pre_get_posts and $query->is_page()
- SQL Statement generated by WP_Query not producing expected results
- Why is ‘pre_get_posts’ having no effect?
- Date Query to Pull Current and Future Posts
- pre_get_posts all posts and custom post type with certain tag
- Using Sessions to Filter Posts – bad thing?
- pre_get_posts and the blog page
- Archive by custom post type and custom date field
- pre_get_post filter returns results when there should not be
- Trying to exclude first 5 posts from the first page on the homepage
- Exclude a WordPress post from pre_get_posts if a field is null
- Why the ‘date_query’ is not working in ‘pre_get_posts’ hook?
- Only show certain post types in recent posts widget
- pre_get_posts for exclude category
- pre_get_posts: using tax_query only for certain post type
- pre_get_posts dont firing… Anybody knows whats the wrong with my code?
- Restrict Search Query To After Specific Date
- Include posts from feature category in pre_get_posts
- WP_Error not displaying errors
- Show all posts even if URL points to a single one
- How to achieve post_status__not_in?
- Ordering by meta_key
- Using a pre_get_posts filter to search for multiple strings on all meta values
- Using different parameters for different queries with pre get posts in functions.php
- how to restrict posts_request filter to the main query only
- Automatically applying a pre_get_posts filter for child categories only
- How to override a query and display specific page by ID?
- pre_get_posts variables
- Another query in pre_get_post cause memory issue
- pre_get_posts having no effect on my category archive
- pre_get_posts returns non property object when using posts__not_in
- Override tax_query with pre_get_posts to include other term_ids on a single category
- $query->is_main_query() is causing query’s tax_query to be ignored
- Menu disappears when meta_key changed [closed]
- pre_get_posts with multiple queries
- How to show the last and newest modified post in a custom category?
- Altering the main query using get_post_meta() in pre_get_posts
- Why query by specific date with variables doesn’t return same result that with harcoded integers?
- Sort WordPress Archive by multiple oderby arguments in pre_get_posts action
- Exclude post type with pre_get_posts?
- Exclude page by title for non admins
- problem with setting tax_query in pre_get_posts
- Add terms to a taxonomy archive from within the same taxonomy
- Tax query get first product with attribute value in pre_get_posts
- Problem ID to exclude specific posts from category
- Modify author archive query to combine two queries
- Change post order on archive to be displayed by most commented being ignored by theme
- Complex query using pre_get_posts
- Super confusing ‘pre_get_posts’ behavior with $query->set
- Having trouble with settings terms as array in pre_get_posts
- Override main query for page template
- Querying custom taxonomy on category-specific page is overwritten by function
- how to get content from other site and show it?
- Insert a variable in pre_get_posts
- Set a custom number of posts on the first page
- Why does this query not SELECT post IDs like a normal query would?
- Please ensure me that I’m not crazy using the pre_get_posts [closed]
- How to pass >= condition filter to my year custom tax_query
- What is the proper way to use pre_get_post?
- Querying posts globally based on custom taxonomy with its own taxonomymeta table
- pre_get_posts has php notice when not on CPT archive
- Duplicating event posts in wordpress
- Changing the meta_query of the main query based on custom query_vars and using pre_get_posts
- How to uniquely identify queries?
- pre_get_posts OR relation between taxonomy and author
- is_category in pre_get_posts results in php notices
- Getting the different post statuses + count like in edit.php, in a custom submenu page
- Sorting taxonomy columns by meta value numeric
- Sorting and limitation with pre_get_posts
- Change searched term
- Offset Page Loops and Pagination
- Custom post type templating problem
- Advanced Custom Fields displaying on tag pages
- Replace/Mute/Stop Search Query
- pre_get_posts for two loops on same page
- Query most popular terms by taxonomy over 2 week period
- How to change the amount of posts previewed on a page?
- How to use pre_get_posts
- Setting post_id for single.php based on URL without a redirect
- tax_query in pre_get_posts
- pre_get_posts fix to show menu on CPT Archives broken WP 6.0
- Prioritise Pages over Taxonomy Term Root Archive, but not Taxonomy Term Child Archives
- custom sorting media with multiple filters – error: not unique table/alias: wp_postmeta
- Search for single post by 2 tags
- Order posts by title and custom field value?
- pre_get_posts redirecting
- How to display search query as formatted text?
- Complex Taxonomy scheme
- How to exclude first 2 posts from a specific category for a custom post type archive page