A pesquisa de produto WooCommerce front-end, por algum motivo, não funciona para números SKU. Em caso afirmativo, seus desenvolvedores de tema foram inteligentes o suficiente para incluir isso em seu código, porque esse é um grande problema, especialmente para lojas B2B.
Hoje, estudaremos como alterar a consulta de pesquisa do produto, bem como a função wc_get_product_id_by_sku(), que é super útil para determinar o ID do produto para um determinado número de SKU. Aproveitar!
Tenho certeza de que existe um produto com SKU = “24-WG085” em meu site de desenvolvimento, mas não há resultado de pesquisa. O trecho abaixo corrige isso.
Snippet PHP: Ativar pesquisa de produtos por SKU
/** * @snippet Pesquise também por SKU @ Shop * @how-to Get CustomizeWoo.com GRÁTIS * @author Rodolfo Melogli * @compatível WooCommerce 7 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( ‘posts_search’, ‘bbloomer_product_search_by_sku’, 9999, 2 ); function bbloomer_product_search_by_sku($search, $wp_query) { global $wpdb; if ( is_admin() || ! is_search() || ! isset( $wp_query->query_vars[‘s’] ) || ( ! is_array( $wp_query->query_vars[‘post_type’] ) && $wp_query->query_vars [‘post_type’] !== “product” ) || ( is_array( $wp_query->query_vars[‘post_type’] ) && ! in_array( “product”, $wp_query->query_vars[‘post_type’] ) ) ) return $pesquisa; $product_id = wc_get_product_id_by_sku( $wp_query->query_vars[‘s’] ); if ( ! $product_id ) return $search; $pesquisa = str_replace( ‘E ((‘, “E (({$wpdb->postagens}.ID IN (” . $product_id . “)) OU ((“, $pesquisa); return $pesquisa; }
Onde adicionar este trecho?
Você pode colocar snippets PHP na parte inferior do arquivo functions.php do seu tema filho (exclua “?>” se você o tiver lá). O CSS, por outro lado, vai para o arquivo style.css do seu tema filho. Certifique-se de saber o que está fazendo ao editar esses arquivos – se precisar de mais orientação, dê uma olhada no meu tutorial em vídeo gratuito “Onde colocar a personalização do WooCommerce?”
Esse trecho (ainda) funciona?
Por favor, deixe-me saber nos comentários se tudo funcionou como esperado. Ficarei feliz em revisar o snippet se você relatar o contrário (forneça capturas de tela). Eu testei este código com o tema Storefront, a versão WooCommerce listada acima e uma hospedagem compatível com WordPress em PHP 7.3.
Se você acha que este código economizou tempo e dinheiro, sinta-se à vontade para se juntar a mais de 14.000 assinantes do WooCommerce Weekly para atualizações de postagens de blog ou a mais de 250 apoiadores do Business Bloomer para 365 dias de benefícios do WooCommerce. Agradeço antecipadamente 🙂
Precisa de ajuda com o WooCommerce?
Confira estes tutoriais em vídeo gratuitos. Você pode aprender como personalizar o WooCommerce sem plug-ins desnecessários, como definir corretamente as configurações do plug-in WooCommerce e até mesmo como dominar a solução de problemas do WooCommerce em caso de bug!
Rodolfo Melogli
Fundador do Business Bloomer
Autor, especialista em WooCommerce e palestrante do WordCamp, Rodolfo trabalha como freelancer independente de WooCommerce desde 2011. Seu objetivo é ajudar empreendedores e desenvolvedores a superar seus pesadelos com WooCommerce. Rodolfo adora viajar, correr atrás de bolas de tênis e futebol e, claro, pizza de forno a lenha.
Siga @rmelogli
Pós-navegação
Fonte