Your filter will result in SQL query with GROUP BY
statement but without aggregate function. This will result in displaying only the first row that appear in the group that match your query and omitting the subsequent rows. Read this question for more details.
If you want to order your results by post_type
, you can hook to posts_orderby
filter instead:
add_filter('posts_orderby', 'group_by_post_type', 10, 2);
function group_by_post_type($orderby, $query) {
global $wpdb;
if ($query->is_search) {
return $wpdb->posts . '.post_type DESC';
}
// provide a default fallback return if the above condition is not true
return $orderby;
}
Related Posts:
- what is __return_false in filters
- Passing Additional Parameters to add_filter Callable
- How can I add an Author filter to the Media Library?
- Custom theme hooks / filters – passing arguments
- Change upload directory on custom plugin page
- What params are available with the_content filter?
- How to hook wp_list_pages?
- Don’t replace “|” with Empty String (“”) when generating slugs from title
- apply_filters(‘the_content’, $content) alternative
- How to use the_excerpt in a filter hook?
- Add wrapper to only youtube videos via embed_oembed_html filter function
- Changing document title only on a custom page template
- Shortcodes not resolved in AJAX call response
- Possible to filter the posts or categories that XML-RPC users see in their mobile application?
- How to always display a specific post from the search result first
- How to link current user to their author page through shortcodes
- filter title from shortcode
- Add a Span Around a Product Title in WooCommerce [closed]
- How to get list of all hooks of current theme / plugin?
- get_query stops working after post filter
- How to filter into post meta data before saving
- Adding custom column to comments admin panel?
- Filter out some plugin action in wp head / wp_footer
- Filter Gutenberg Blocks Content
- is there a specific place where add_filter must be placed?
- add_filter() function misunderstanding
- How to make a widget expand wider than the column width when editing its settings in the admin
- check if FILTER(“the_content”) is being executed in `the_post()`
- Change Password Strength Indicator names?
- Is there a wildcard/catchall filter hook?
- Apply the_content filter, but prevent other hooked actions
- Can the wp_filter object hold multiple values with the same key
- apply_filters/do_action tag characters limit
- the_excerpt filter with an empty excerpt
- Add Defer Attributes to WordPress Scripts with consistent versioning
- How to stop wrapping comments in P tag
- How to modify core when there is no hook?
- Remove CSS & JS files from WordPress Main Page For Increase Pagespeed?
- String regex match replace for role ‘contributor’ only
- Can plugins that filter post contents work on posts from Word 2007?
- html tags in gettext hook get escaped
- Set default terms for new posts / CPTs
- Get .subsubsub count of post per status queried using pre_get_posts
- Better extend a class or use add filter/action hooks?
- Adaptive product filters for WooCommerce
- Adding a Clone link to product attributes – post_row_actions() filter, or how to override a Class question
- wp_upload_bits Upload Specific Sizes Only
- Plugin options, presets and filters : can you help me improve my workflow?
- Woocommerce “added to cart” message on main(home) page
- Why does adding a filter to ‘the_title’ break the server?
- Wrapping my head around add_filter
- Add filter for specific post type only
- Avoid user registrations with specific email provider
- Help with filter for wp_notify_moderator()
- Should I remove_filter in order to replace a filter?
- Change custom post type GUID in RSS
- How can I specify the post status of an untrashed post?
- filter hook to load a different post/page on current post/page
- How would I be able to use a font awesome icon as a user’s avatar?
- Add something after a filter
- Rewrite rule and display of post
- add_filter the_content doesn’t work
- Redirect to woocommerce checkout after adding to cart – item already in cart
- Passing variable from child theme function to parent theme filter
- `authenticate` filter never gets called
- Add filter unless it is being called under specific function
- How to disable a wp filter in a certain admin panel page
- Is there a filter to programmatically change the HTML tab switching output of the page editor?
- Why does admin_body_class not work?
- post_orderby filter breaks function
- Disable Remember Me in Login Form
- How do I add a line break to a string that is output by PHP?
- Counting a WP_Post Object value in an arary, using a filter?
- style_loader_tag not changing stylesheet to preload
- List all categories that have results in a query
- Distinguish between page and post in function
- Display posts from today and future in Elementor ‘posts widget’
- Right filter for rewriting page statuscode
- Changing title using filter not working with argument
- Archive Widget – Count only parent posts
- How to filter page title for certain page?
- Displaying posts on a page that have been assigned a value in a database
- Replace Text with hyperlinks
- adding an action inside if condition not working
- Adding filter to an specific page/site direction
- Cutting off excerpt with first sentence
- Change URLs in default WordPress slider to relative from absolute
- How to filter wp_get_recent_posts() to only posts that have thumbnails?
- Change add_filter based on Ajax
- How to check which submission button was clicked?
- check, if any “add_action” function contains string XXXXXXXXX
- How to add more than one custom metadata as filter on the post list page?
- Add Default WordPress Formatting To Data From External SQL Tables?
- Joining tables not working in the post editor page
- Auto append text after the title?
- filter a list by gender
- Filter and manipulate the get_current_user() function
- add_filter(‘the_content’, ‘method’) does not trigger my custom method
- Better way to change the default password reset url with the woocommerce one?
- woocommerce_coupon_is_valid_for_product not working to exclude specific product tag