Soporte » Plugins y Hacks » WooCommerce » Editar caja de valoraciones de ficha de producto

  • Resuelto vivigonzab

    (@vivigonzab)


    Hola! En la ficha de producto, en la caja de valoraciones me gustaría sacar estos textos:
    Valoraciones
    No hay valoraciones aún.

    Y quisiera modificar este texto:
    Sé el primero en valorar “Product 1”
    por otro que diga algo así como «¿Ya probaste el producto? Ayuda a otros, valorando el producto»

    Cómo podría hacerlo?
    muchas gracias!

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador Jose Luis

    (@jose64)

    Hola

    Tienes varias opciones:

    Puedes eliminar los dos primeros textos usando CSS:

    .woocommerce-Reviews-title, .woocommerce-noreviews {
        display: none;
    }

    Para cambiar el texto puedes usar un plugin para reemplazar «Sé el primero en valorar » por «¿Ya probaste el producto? Ayuda a otros, valorando ». En el repositorio tienes:

    Real-Time Find and Replace

    Otra forma de hacerlo es modificar la traducción de la cadena original (no te lo recomiendo porque con las actualizaciones se pierde)

    Puedes hacerlo con código también:

    Cómo cambiar cualquier texto en WooCommerce

    gettext filter

    Finalmente, puedes editar la pestaña con un código que tienes en la documentación de WooCommerce, el ejemplo es para la pestaña de descripción, tendrías que adaptarlo a «reviews»:

    Editing product data tabs > Customize a tab

    Te quedaría algo así:

    /**
     * Customize product reviews tabs
     */
    add_filter( 'woocommerce_product_tabs', 'woo_custom_review_tab', 98 );
    function woo_custom_review_tab( $tabs ) {
    
    	$tabs['reviews']['callback'] = 'woo_custom_review_tab_content';	// Custom review callback
    
    	return $tabs;
    }
    
    function woo_custom_review_tab_content() {
    	echo '<p>¿Ya probaste el producto? Ayuda a otros, valorando el producto</p>';
    }

    Ese código debes añadirlo al archivo functions.php de tu tema hijo o en un plugin de personalizaciones como Code Snippets.

    Recuerda comentar qué opción usas y, por favor, cierra el debate marcándolo como resuelto, así nos ayudas a mantener el foro al día.

    Hola! probé la última opción del código en mi plugin de personalizaciones.
    Me cambia el texto perfectamente, pero ya no me aparecen los campos de dejar la valoración. Es como que se reemplazó todo el contenido de la tab y no solo el texto que yo quería. Cómo podría hacer para devolver los campos para dejar valoración?
    Muchas gracias!

    Moderador Jose Luis

    (@jose64)

    Hola

    Efectivamente, no conté con ese detalle, en ese caso sería más sencillo que copiaras y editaras la plantilla original de WooCommerce en tu tema hijo. La plantilla es
    /wp-content/plugins/woocommerce/templates/single-product-reviews.php, tienes que revisar en tu tema que no esté sobreescrita por el desarrollador del tema, en ese caso lo más sencillo es que ocultes los mensajes con CSS y cambies los mensajes, bien con un código personalizado o bien con uno de los plugins.

    Hola muchas gracias! lo que hice fue utilizar gettext filter para modificar algunos textos y utilizar CSS para ocultar otros (me fui fijando con el inspector del chrome cómo se llamaban las clases que quería ocultar), logrando que quede como quería.
    El código gettext lo puse en mi plugin de modificaciones dentro de la carpeta mu-plugins, de manera que permanezca por más que cambie de theme o se actualice woocommerce, entiendo que seguirá funcionando.
    Gracias!!

    Hola Jose Luis, cómo estás?
    Tengo una modificación que quiero realizar al código y no se cómo hacerlo. Quiero modificar algo en una página de producto específica, ya sea por CSS o por medio de código en plugin de personalizaciones. Esto me ha funcionado para páginas usando .page-id-xx pero para el caso de página de producto no me funciona. Me podrías ayudar con la sintaxis correcta para hacer referencia a una página de producto específica?
    gracias!!

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Debes estar registrado para responder a este debate.