Soporte » Plugins y Hacks » WooCommerce » Buscador de Woocommerce

  • trancecode

    (@trancecode)


    Amigos buenas noches, estoy realizando midificaciones a mi buscador de productos, y me gustaría, mas bien necesitamos agregar nuevas opciones de búsqueda por llamarlo así.

    actualmente nos busca por nombre, sku o referencia e información en la descripción… pero nos gustaría agregarle otra cantidad de campos mas por los que buscar.

    ejemplo si deseamos buscar por otro tipo de campo de la base de datos, donde debería modificar, entiendo que en algún lado debe agregarse que busque en tabla post el post_title donde la variable sea =’product’

    pero que pasa si quiero agregarle otros campos de otras tablas donde necesito que busque, y mi duda mas grande es donde esta ese archivo a modificar también, muchas gracias amigos!

Viendo 1 respuesta (de 1 total)
  • Moderador Fernando Tellado

    (@fernandot)

    Yo empezaría por curiosear como lo hacen algunos plugins que incorporan esas variables de búsqueda entre sus funcionalidades, y de ahí ir ampliando tirando de la API y templates de WooCommerce.

    Ejemplos a curiosear:

    https://wordpress.org/plugins/smart-woocommerce-search/
    https://wordpress.org/plugins/advanced-woo-search/

    También puedes crear una función que añada valores a tus criterios de búsqueda. Ej:

    function custom_search( $query ) {
    
        if( ! is_admin() && $query->is_main_query() ) {
    
            if ( $query->is_search() ) { 
    
                $meta_query = $query->get( 'meta_query' );
    
                $meta_query[] = array(
                    'key'       => 'custom_color',
                    'value'     => $query->query['s'],
                    'compare'   => 'LIKE'  
                );
    
                $query->set( 'meta_query', $meta_query );
    
            }
    
        }
    
    }
    
    add_action( 'woocommerce_product_query' , 'custom_search' );

    Otro método, más recomendable siempre, es crear tu propia plantilla para las búsquedas, como se indica en el Codex de WooCommerce, y con el filtro get_product_search_form lanzar el formulario, y luego otra para los resultados. Ya ahí en la plantilla aplicas los valores a utilizar.

    Además, otra posibilidad, es usar plugins premium que incluyan opciones de filtrado, lo que será mucho más práctico para tus usuarios.

    Aquí tienes varios: https://learnwoo.com/customize-woocommerce-product-search/

Viendo 1 respuesta (de 1 total)
  • Debes estar registrado para responder a este tema.