Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
woocommerce: aumente el valor de la cantidad en un% específico con un clic de botón

En un sitio que vende pisos de madera por caja, necesitaría agregar una opción para agregar un % de material adicional que se recomienda, aumentando el valor de la cantidad.

Lo que he intentado hasta ahora es este fragmento que agrega un valor específico a la etiqueta de cantidad y funciona:

 <a id="quantityincrease" class="button" href="#">Add recommended waste</a> <script> jQuery( function($) { $('#quantityincrease').click( function(e) { e.preventDefault(); $('[name="quantity"]').val('150'); console.log('#quantityincrease was clicked'); }); }); </script>

Lo que necesito es ese botón para aumentar el valor en la etiqueta cantidad/área_necesaria en un porcentaje específico. Gracias de antemano a cualquiera que intente ayudar.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Por lo que he entendido, no solo necesita javascript, sino también agregar la etiqueta en la página del producto y llevarla a los datos del carrito y al pedido. El código puede ser el siguiente:

 add_action( 'woocommerce_before_add_to_cart_button', 'add_fields_before_add_to_cart' ); function add_fields_before_add_to_cart( ) { echo '<div class="area-selection-management">'; echo '<label for="area_needed_input" id="area-needed-label">-</label>'; echo '<input type="hidden" name="area_needed_input" id="area-needed-input" value="0">'; echo '</div>'; ?> <script> jQuery(document).ready(function($) { $('[name="quantity"]').on('change', function(e) { var current_area = $('#area-needed-input').val(); var increase = 9 // Do your mathematical calculations hereto increase the value accordingly. $('#area-needed-input').val(increase); $('#area-needed-label').text(increase + 'sq m'); }); </script> }

Después de agregar al carrito, deberá agregarlo al meta del carrito, lo que se puede hacer como se menciona a continuación:

 add_filter( 'woocommerce_add_cart_item_data', 'add_cart_item_data', 25, 2 ); function add_cart_item_data( $cart_item_data, $product_id ) { if( isset( $_POST['area_needed_input'] ) ) $cart_item_data['area_needed_input'] = sanitize_tex_field( $_POST['area_needed_input'] ); return $cart_item_data; }

Luego, deberá agregar el meta del carrito al pedido.

 add_action( 'woocommerce_add_order_item_meta', 'add_order_item_meta' , 10, 3 ); function add_order_item_meta ( $item_id, $cart_item, $cart_item_key ) { if ( isset( $cart_item[ 'area_needed_input' ] ) ) { wc_add_order_item_meta( $item_id, __( "Area Needed", "woocommerce"), sanitize_text_field( $cart_item[ 'area_needed_input' ] ) ); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda