Hace ya tiempo que vimos cómo, desde la administración, podíamos habilitar la búsqueda de productos por SKU en WooCommerce, algo que no funcionaba por defecto, pero ¿no tendría entonces también sentido que sean los clientes quienes puedan hacer búsquedas en tu tienda por SKU?
Seguro que se te ocurren muchos tipos de tienda en línea en donde no haría falta la búsqueda por SKU, pero también piensa un momento en otro montón de comercio electrónico en los que sí tiene una gran utilidad, especialmente todas aquellas que sean B2B, o sea:
- Venta de suministros a profesionales.
- Compra por catálogo para usuarios finales y/o profesionales.
- Venta a todo tipo de profesionales, para quienes sea más cómodo y rápido buscar por referencia (SKU) que por nombre.
- Venta de productos que cambien con frecuencia su denominación, pero no así el SKU.
Hay muchas situaciones en las que será interesante, y en algunas otras obligatorio, activar para tus clientes la búsqueda por SKU, que ya que estamos, solo requiere que añadas este código a tu web:
/* Activar buscar por sku en la web */ 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 );
Puedes añadir el código con alguno de los métodos descritos en esta sencilla guía.
Una vez añadas el código anterior y guardes los cambios tus clientes ya podrán hacer búsquedas por SKU, obteniendo resultados a sus consultas.
0 Commentaires