Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

195
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!