search by meta field in the regular WordPress admin panel search

For regular admin panel search you should include “is_admin()” to be true. For checking for specific post type you should check from $query->get(“post_type”) Can you try to use this code add_action(“pre_get_posts”, function ($query) { if ($query->is_main_query() && is_admin() && in_array($query->get(‘post_type’), array(‘company’))) { $s = get_search_query(); $meta_query = [ ‘relation’ => ‘OR’, [ ‘meta_key’ => ‘_company_inn’, … Read more

Customize search_filter($query) function

OK. I have changed $query->set(‘orderby’, ‘type’) function search_filter($query) { if ($query->is_search && !is_admin()) { $query->set(‘post_type’, array(‘post’,’forums’)); $query->set(‘category_name’, ‘my-zen’); $query->set(‘orderby’, ‘date’); $query->set(‘order’, ‘ASC’); } return $query; } add_filter(‘pre_get_posts’,’search_filter’); Now, I don’t have any Error critical, but it doesn’t work. What is wrong in my code?

Including product categories (product_cat taxonomy) title and description in search query

Found out my solution by filtering the search query. Hope that helps: function new_search_join( $join ) { global $wpdb; if ( is_search() ) { $join .= ” INNER JOIN {$wpdb->term_relationships} ON {$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id INNER JOIN {$wpdb->terms} ON {$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id”; } return $join; } add_filter(‘posts_join’, ‘new_search_join’ ); … Read more

WPML posts_joins on translated items

Finally able to find out a working solution. The inner join has to join term_taxonomy (where we find the term) to icl_translations with current language. And then from icl_translation to the origin language to get the element_id that then this element_id to term_relationships (where all the product from the origin product_cat are listed). If that … Read more