Product SKU Search with default search

PHOTO EMBED

Thu Jul 06 2023 12:00:21 GMT+0000 (Coordinated Universal Time)

Saved by @gshailesh27

If you are using wordpress search you can add this code to make it work



function search_by_sku( $search, &$query_vars ) { global $wpdb; if(isset($query_vars->query['s']) && !empty($query_vars->query['s'])){ $args = array( 'posts_per_page' => -1, 'post_type' => 'product', 'meta_query' => array( array( 'key' => '_sku', 'value' => $query_vars->query['s'], 'compare' => 'LIKE' ) ) ); $posts = get_posts($args); if(empty($posts)) return $search; $get_post_ids = array(); foreach($posts as $post){ $get_post_ids[] = $post->ID; } if(sizeof( $get_post_ids ) > 0 ) { $search = str_replace( 'AND (((', "AND ((({$wpdb->posts}.ID IN (" . implode( ',', $get_post_ids ) . ")) OR (", $search); } } return $search; } add_filter( 'posts_search', 'search_by_sku', 999, 2 );

content_copyCOPY