Soporte » Plugins y Hacks » WooCommerce » Cambiar de posicion los elementos del producto

  • Buen dia, estoy tratando de cambiar de orden de los elementos en el producto y en la pagina de inicio.
    Lo trate de realizar cambiando los hooked pero no me deja.

    Estoy tratando de conseguir este orden
    Nombre del producto
    Categoria
    Ref/SKU
    Medidas
    Desc cort precio
    Sumador añadir al carrito

    para agregar dimensiones he utilizado este codigo

    add_action( ‘woocommerce_after_shop_loop_item’, ‘rs_show_dimensions’, 12 );
    
    function rs_show_dimensions() {
    global $product;
    $dimensions = wc_format_dimensions($product->get_dimensions(false));
    
    if ( $product->has_dimensions() ) {
    echo ‘<div class=»product-meta»><span class=»product-meta-label»>Dimensiones: </span>’ . $dimensions . ‘</div>’;
    }
    }

    y para agregar el sku al producto de la tienda, donde lo he cambiado por REF he utilizado esto

    add_action( ‘woocommerce_after_shop_loop_item’, ‘prima_custom_shop_item’, 15);
    function prima_custom_shop_item() {
    global $post, $product;
    
    /* product sku */
    echo ‘<p>Ref: ‘.$product->get_sku().'</p>’;
    }
    • Este debate fue modificado hace 1 semana, 5 días por Fernando Tellado. Razón: Etiquetado correcto del código

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

Viendo 1 respuesta (de un total de 1)
  • Hola @keywordsmkt

    Para personalizar el orden deberas cambiar el orden de los action para que se ejecuten en el orden que quieras en las plantillas necesarias.

    Aqui tienes los predeterminados; https://github.com/woocommerce/woocommerce/blob/master/includes/wc-template-hooks.php#L81 para el loop.

    Si tu theme lo modifica deberas buscar donde estan, sea como sea, primero eliminas los actions y luego los añades. Ojo eliminarlos me refiero ha usar remove_action.
    Piensa que para la pagina de producto se usan otros; https://github.com/woocommerce/woocommerce/blob/master/includes/wc-template-hooks.php#L135

    Por ejemplo:
    Si tuvieses este orden

    
    add_action( 'woocommerce_single_product_summary', 'c', 5 );
    add_action( 'woocommerce_single_product_summary', 'a', 5 );
    add_action( 'woocommerce_single_product_summary', 'b', 5 );
    

    Tendrias que hacer lo siguiente usando el functions.php o tu plugin de funciones.

    
    /** Se eliminan */
    remove_action( 'woocommerce_single_product_summary', 'c', 5 );
    remove_action( 'woocommerce_single_product_summary', 'a', 5 );
    remove_action( 'woocommerce_single_product_summary', 'b', 5 );
    
    /** Se añaden */
    add_action( 'woocommerce_single_product_summary', 'a', 5 );
    add_action( 'woocommerce_single_product_summary', 'b', 5 );
    add_action( 'woocommerce_single_product_summary', 'c', 5 );
    

    Si te fijas a,b,c que serian las funciones se añaden en el orden que se desea, si quieres tambien podrias modificar la prioridad de menor a mayor que tenga cada action pero es mas facil de ver si lo hacer como en el ejemplo.

    Saludos

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