As you can see in the documentation, the 2nd argument passed to functions hooked to the_posts
is the WP_Query
object.
To access it you need to define the 4th argument of add_filter()
, $accepted_args
, to 2
, so that you can accept it.
Then you just need to accept 2 arguments in your function, and use the 2nd argument to as the WP_Query
object:
function wpse_313327_filter_past_events( $posts, WP_Query $query ) {
if ( $query->is_single() ) {
return $posts;
}
if ( $query->is_feed() ) {
// etc. etc.
}
return $posts;
}
add_filter( 'the_posts', 'wpse_313327_filter_past_events', 10, 2 );
Related Posts:
- Overriding The Loop with filter or hook
- How to filter, restrict and return posts based on custom user meta information
- How to use the query hook/filter?
- Is it possible to completely stop WP_Query retrieving posts?
- How to list some posts first in the loop based on post id
- Whats the difference between post_limits and pre_get_posts?
- How to add taxonomy filter on the query fly?
- WP_Query – filter or directly?
- What is the most efficient way of querying posts based on visits and date for current day?
- ajax category filter
- How to order posts tag by tag?
- Want to redirect if search query match exact title of any post
- Custom query incorrectly returning everything [closed]
- new WP_Query() – what is the earliest valid hook?
- WP Rest API v2 return posts with specific tag
- Identify which loop you are hooking into; primary or secondary?
- How to filter sql only for a specific post type
- Ignore a filter on the media library
- How to support multiple search terms query within one process?
- How to get any tag ID
- Which filter/action hook gets triggered after a query has been performed?
- Removing posts from the returned wp_query. Cannot use object of type WP_Query as array
- How to implement time filter to show random post 1 month for one category and 3 months for other categories
- What’s the point of the query_vars filter?
- Refine/Filter WP_Query Posts with jQuery or Ajax
- How to change posts order on Category and Tag archives?
- is_search was called incorrectly
- How to apply filter inside a single wp_query?
- What is considered a default query for the request filter?
- When to add_filter() to Custom Query
- Create unique page without header.php for json feed
- Order by custom table and multiplication
- Query total number of posts
- How to add post_distinct filter to WP_Comment_Query?
- How to choose between hooking into per_get_posts or into parse_query
- Using Ajax to load more posts | Help me change the wording on my button to notify the user
- How to delete taxonomy term when a wordpress user is removed?
- How to create a WordPress Post Filter that users can use to filter posts by year?
- add_filter() depending on search term
- query_vars filter not working even though query string parameter is present
- How do I run through a WordPress loop called from a filter function?
- Order by title without taking into account ‘the’
- wp_query ‘s’, search filter with pagination is not working
- Bypass “supress_filters” in WP Query
- Remove a div from RSS feed
- Filter posts in category archive page by year using a dropdown
- Set global $wp_query/$post variable for dynamic page generation
- Display filtered results into custom page
- Applying posts_clauses filter to specific queries only
- Add class to first post in custom loop using post_class filter
- How to alter local query, not main query [duplicate]
- How to filter a query by date in a shortcode?
- How can I allow sticky posts but cap the query to 1 post?
- how to access query string in wordpress?
- Filter Custom Taxonomy Posts
- Include posts from some categories while excluding from others
- Changing the default wp_search_stopwords
- Filter post query to only show direct children of category
- Is it possible to add an argument to a custom function added to a filter hook?
- How to make posts unqueryable/unpublish posts where ACF relationship field is an unpublished post? [closed]
- queried_object using pre_get_posts gets notices and warning
- Utilising an existing page while using the “s” query parameter
- Change AJAX filter from POST to GET for URL Parameters
- Using post_where filter only on main query NOT sidebard new WP_Query
- Filtering posts by archive showing all years
- Remove post type filter added by the plugin in the final query
- How to generate feed for custom template
- relation OR instead of AND – Filtered term ID’s in loop
- Can’t order the query result as given posts id’s array
- filter posts by meta key with pagination
- Why does apply_filters behave different inside and outside a loop?
- Elementor posts custom query based on tag [closed]
- meta_query weird behaviour, static int will work, but not user data
- WP_Query retuning empty array in rest api
- Filter sub-category from checkbox form
- My combination of ‘post_type’ and ‘tax_query’ not working?
- How to add a “base” filter for all posts visible to visitors on the site?
- SEARCH QUERY PLEASE HELP | call_user_func_array() expects parameter 1 to be a valid callback php
- WordPress – Form does not filter the results of taxonomies
- Query Posts | Combining multiple form inputs into query arguments to generate one filter result
- Sorting query_posts() with a complex orderby filter
- remove_action – pre_get_posts – does not restore original query
- Custom category page with taxonomy filters
- get term objects and post objects in query
- How to set selected attribute on option after filter query?
- Issue generating custom filter for cpt admin columns
- Rewrite rule pagination on different url levels
- Custom query with post_class filter using current_post not working
- Add filter to Orderby Parameter using Array
- Filter WP_Query output before it is accessed (pre_get_posts)?
- $wp_query when new WP_Query
- Loop the posts between two dates selected using jquery datepicker
- query post based on comparison
- Do not show a custom post if it belongs to a certain custom taxonomy
- Adding arguments to WooCommerce Product Loop using AJAX
- Edit WordPress loop, taxonomies, & filter
- Woocommerce set loop_shop_columns to be 3 in the main shop page loop only and 4 otherwise
- List categories using WP_Query
- Replace category titles inside RSS feed
- WP_Query filter Posts by timestamp event (range start and end) and by month (next 12 month)