Soporte » Plugins y Hacks » WooCommerce » Busqueda de productos solo en el idioma de la página

  • Resuelto Eva

    (@evasonder)


    Buenos días,

    Tengo una instalación de woocommerce con el buscador Smart woocommerce search integrado en el header con el code snippet.
    Mi problema es que cuando realizo la búsqueda de un producto me sale en todos los idiomas y me gustaría limitarlas al idioma en el que está establecida la página.
    ejemplo producto: 29.101

    Muchas Gracias

    • Este debate fue modificado hace 1 año, 5 meses por Eva.
    • Este debate fue modificado hace 1 año, 5 meses por Eva.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • Tienes la web caida y no he podido ver el ejemplo que indicas.

    Depende del plugin con el que hagas el multiidioma se debe hacer de una manera u otra, además puede ser que el plugin multiidioma que utilizas no sea compatible.

    Si no es compatible se debería desarrollar a medida utilizando el hook pre_get_posts

    Espero que te haya servido para dirigirte.

    Iniciador del debate Eva

    (@evasonder)

    Buenos días Adrián,

    Ante todo muchas gracias por la rápida respuesta.
    El plugin que utilizo para el multiidioma el polylang y para poder integrarlo con woocommerce utilizo Hyyan WooCommerce Polylang Integration. El tema es customify con la plantilla Outfit.
    La verdad que soy muy novata y ando bastante perdida
    Gracias por tu ayuda

    Hola @evasonder ,

    Desgraciadamente parece que el plugin «Smart woocommerce search» no es compatible con polylang y además el plugin «Hyyan WooCommerce Polylang Integration» no tiene continuidad desde hace 7 meses.

    Mirando el código del plugin haz una prueba, a ver si funciona.

    En vez de utilizar el shortcode mira de utilizar el widget. Parece que ahí si que utiliza el hook add_filter('get_product_search_form', array($this, 'fixSearchForm'));

    Parece como si lo siguiente faltara en el formulario que te da el shortcode
    <input type="hidden" name="lang" value="'.esc_attr($polylang->curlang->slug).'" />

    Iniciador del debate Eva

    (@evasonder)

    Buenos días Adrián,

    Gracias por tu tiempo,
    Necesito que el buscador esté en el header, si pongo el widget, sólo me deja ponerlo en la barra lateral que no tengo.
    sabes otro plugin que pueda utilizar en lugar de Smart Woocommerce search?
    Crees que puedo integrar el código que falta?

    Gracias

    Hola,

    ¿Pero el widget hace la función de búsqueda como quieres?

    Lo que se me ocurre es que generes tu un espacio de widget en el header con

    function add_widgets_area() {
        register_sidebar( array(
            'name'          => __( 'Zona de Widgets en header', 'twentyfourteen' ),
            'id'            => 'header-widgets',
            'description'   => __( 'A&ntilde;ade los widgets para que aparezcan.', 'twentyfourteen' ),
            'before_widget' => '',
            'after_widget'  => '',
            'before_title'  => '',
            'after_title'   => '',
        ) );
    }
    add_action( 'widgets_init', 'add_widgets_area' );

    Y luego en tu child-theme en el sitio donde pinta el shortcode poner.
    <?php dynamic_sidebar('header-widgets’); ?>

    Después deberás modificar un poco el css para que tenga el mismo estilo que el otro (con algún display:none)

    Te paso un poco más de info de register_sidebar para que veas todos los otras valores que le puedes pasar.
    https://developer.wordpress.org/reference/functions/register_sidebar/

    • Esta respuesta fue modificada hace 1 año, 4 meses por LGrusin.
    Iniciador del debate Eva

    (@evasonder)

    Buenos días Adrián,

    He probado a insertar un widget del smart woocommerce en el pie para ver su funcionamiento, y tampoco es correcto. He insertado tambien el que viene por defecto con wordpress y tampoco funciona bien. Además si activo el plugin Better search replace me da el error:

    Fatal error: Uncaught Error: Using $this when not in object context in /usr/home/sondercontrols.com/web/wp-content/themes/customify/search.php:14 Stack trace: #0 /usr/home/sondercontrols.com/web/wp-includes/template-loader.php(98): include() #1 /usr/home/sondercontrols.com/web/wp-blog-header.php(19): require_once(‘/usr/home/sonde…’) #2 /usr/home/sondercontrols.com/web/index.php(17): require(‘/usr/home/sonde…’) #3 {main} thrown in /usr/home/sondercontrols.com/web/wp-content/themes/customify/search.php on line 14

    Supongo que o me conformo con la búsqueda en todos los idiomas o cambio el plugin Smart woocomerce Search.

    He intentado contactar con los desarrolladores de este plugin pero no hay contestación por su parte.

    Si conoces un plugin que pueda probar, te lo agradecería 🙂

    Muchas gracias

    Hola, lamento no poder ofrecerte uan solución sencilla a no ser que cambies el sistema de traducción o pruebes otros plugins de integración como
    https://es.wordpress.org/plugins/woocommerce-polylang-integration/

    No conozco polylang en profundidad pero según como funciona en principio en el form de búsqueda sólo haría falta agregar
    <input type="hidden" name="lang" value="es">
    Para que busque en el idioma que hayas marcado.

    Espero que te sirva de ayuda mi comentario.

    Iniciador del debate Eva

    (@evasonder)

    Muchísimas Gracias Adrián

    Solucionado!!!

Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • El debate ‘Busqueda de productos solo en el idioma de la página’ está cerrado a nuevas respuestas.