Soporte » Plugins y Hacks » WooCommerce » Añadir información en listado de productos

  • Resuelto sl84manu

    (@sl84manu)


    Necesito que la pagina donde sale el listado de productos , en la que sale titulo y precio , pueda poner otro texto.

    Es una tienda de ropa , y quiero poner el texto en algunos MAS COLORES , para que entren en el producto y puedan ver sus variaciones.

    Gracias

Viendo 12 respuestas - de la 1 a la 12 (de un total de 12)
  • Moderador Fernando Tellado

    (@fernandot)

    Gracias por la respuesta , pero creo me he expresado mal.

    en este enlace https://www.mayoral.com/es/espana/chaquetas-300000000000089619–5 encuentras el LISTADO de productos. Cada producto tiene su titulo , precio y debajo el texto» mas colores» este ultimo quiero agregar yo a algunos articulos , sin que necesiten entrar en el articulo para saber exiten mas colores.

    Gracias

    Moderador Fernando Tellado

    (@fernandot)

    Hola

    Entiendo que es un subtitulo debajo del nombre del Producto
    Creo que este plugin es lo que andas buscando o … te puede venir bien.

    https://es.wordpress.org/plugins/wc-product-subtitle/

    Buenos dias.

    He probado todos los plugins y no es lo que busco…solo quiero una linea de texto adicional que salga en la vista prevIa de los productos , que ponga » MAS COLORES»

    Al igual que aqui :

    https://www.mayoral.com/es/espana/chaquetas-300000000000089619–5

    Gracias

    Hola! Mira a ver si esto te valiese. Lo tienes que incorporar en el functions.php
    Así, insertarías texto debajo de la imagen del producto, por encima del título y el precio:

    // FUNCION PARA AGREGAR UN TEXTO ANTES O DESPUES (BEFORE/AFTER) DEL TITULO Y PRECIO DEL 
    //	PRODUCTO EN LOS LISTADOS DE LOS PRODUCTOS
    //
    	add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_before_shop_loop_item_title_mod');
    function woocommerce_before_shop_loop_item_title_mod() {
    	echo  '<span style="font-style:italic;font-weight:bold;color: #A99055;font-size:14px!important;">' . _(' Aqui pones el texto que quieras que aparezca').'</span>';
    }

    Y de esta otra manera insertarías texto ya debajo del precio:

    // FUNCION PARA AGREGAR UN TEXTO ANTES O DESPUES (BEFORE/AFTER) DEL TITULO Y PRECIO DEL 
    //	PRODUCTO EN LOS LISTADOS DE LOS PRODUCTOS
    //
    	add_action('woocommerce_after_shop_loop_item_title', 'woocommerce_after_shop_loop_item_title_mod');
    function woocommerce_after_shop_loop_item_title_mod() {
    	echo  '<span style="font-style:italic;font-weight:bold;color: #A99055;font-size:14px!important;">' . _(' Aqui pones el texto que quieras que aparezca').'</span>';
    }

    Si te fijas solo cambia una palabra de la función, que es la que te da a elegir si el texto se ve antes de los datos del producto (before), o bien despues (after). Si quieres cambiar el estilo del texto o el color puedes hacerlo modificandolo en la propia función.
    Espero haberte ayudado. 😉

    • Esta respuesta fue modificada hace 1 año, 1 mes por bigdatadestroy.

    Exactamente eso bigdatadestroy…pero con esta función me aparece en todos los productos…. quisiera ponerlo en unos si y otros no…podria haber alguna manera?

    Hola Manu. Creo que vas a tener suerte y todo, digo suerte porque hace 1 par de días leí un artículo que hablaba de algo similar y me bajé el código, he estado intentando buscar en google el artículo original pero ahora no lo encuentro, así que te voy a explicar un poco lo que leí que hacía el código y a ver si te vale 😉
    1º Crea una casilla de verificación (checkbox) dentro de los productos, en la pestaña ‘General’, podrás marcarla o desmarcarla. También poner un texto junto a ella.
    2º Guarda el estado de dicha casilla (marcada o desmarcada) en la base de datos.
    3º Cuando listes los productos, si el checkbox está marcado aparecerá un mensaje (que puedes personalizar) bajo el precio.
    Aquí te muestro el código que como siempre tendrás que incorporar al functions.php

    // Primera parte crea el checkbox en la ficha de producto
    
    add_action( 'woocommerce_product_options_general_product_data', 'mk_agrega_checkbox_producto' );           
    function mk_agrega_checkbox_producto() {           
    woocommerce_wp_checkbox( array( 
    'id' => 'id_check',
    'class' => '', 
    'label' => 'Etiqueta del check'  // Texto que apareceria junto al textbox en ficha de producto.
    ) 
    );      
    }
       
    // Segunda Parte, guarda la información del checkbox via custom field
       
    add_action( 'save_post', 'mk_guarda_checkbox_en_post_meta' );
       
    function mk_guarda_checkbox_en_post_meta( $product_id ) {
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
            return;
        if ( isset( $_POST['id_check'] ) ) {
                update_post_meta( $product_id, 'id_check', $_POST['id_check'] );
        } else delete_post_meta( $product_id, 'id_check' );
    }
     
    // Tercera parte, incluye un condicional que mostraría el mensaje bajo el precio del producto
    // sólo si el check está marcado en la ficha de producto
       
    add_action( 'woocommerce_single_product_summary', 'mk_muestra_mensaje_checkbox', 20 );  //Cambia el hook o la prioridad para mover la posición del mensaje
       
    function mk_muestra_mensaje_checkbox() {
        global $product;     
        if ( get_post_meta( $product->get_id(), 'id_check', true ) ) {
            echo 'TU MENSAJE PERSONALIZADO';  //Este es el mensaje que aparecería
        }
    }

    Espero que te sirva. Creo que sí. 😉
    Por cierto, he vuelto a buscar en san google (esta vez con un tramo del código) y ya he localizado el artículo, por si tienes cualquier duda que le eches un vistazo. Es de la web de Angel Martín (es un máquina el tio). Por si se lo quieres agradecer a él (deberías). Aquí tienes el enlace al artículo:
    https://martin.click/woocommerce/insertar-mensaje-condicional-ficha-producto-woocommerce/

    que bueno muchas gracias…
    exactamente eso es lo que pretendo condeguir , pero… no dentro d ela ficha del producto…sino cuando salga la lista de productos , que se muestre titulo , precio y en los elegidos esta caja de texto…me explico?

    Hola Manu,
    Creo que si sustituyes del texto anterior esta línea:
    add_action( 'woocommerce_single_product_summary', 'mk_muestra_mensaje_checkbox', 20 );
    Por esta otra que te suministre en las primeras funciones:
    add_action('woocommerce_after_shop_loop_item_title', 'mk_muestra_mensaje_checkbox');
    Se te debería mostrar en los listados de productos. Detrás del precio.
    Los compañeros podrán ver si hay algún error y corregirme si no estoy en lo cierto o me he equivocado en la sintaxis.
    Espero que te sirva así.

    • Esta respuesta fue modificada hace 1 año, 1 mes por bigdatadestroy.

    Pues muchas gracias , no sabes cómo te lo agradezco, lo he conseguido , gracias a gente como tú , aprendo cada día , os animo a seguir asi.

    De nada hombre ;-). A mi me ayudan, y yo también ayudo en lo posible. Un saludo.

Viendo 12 respuestas - de la 1 a la 12 (de un total de 12)
  • El debate ‘Añadir información en listado de productos’ está cerrado a nuevas respuestas.