Stack Overflow en español Asked by Matias Blanco on November 29, 2021
estoy creando un plugin para insertar dos fields custom en el carrito de compras, es decir dos columnas con cada una un campo, uno para ingresar comentarios, y otro para un select, ambos sobre cada producto del carrito, querìa saber ya que estuve buscando bastante informaciòn y no pude lograrlo exitosamente si alguno ya tuvo que hacerlo, o sabe como hacerlo ! Muchas gracias por su aporte
Edito el post con parte del codigo que voy haciendo, el problema esta en que al actualizar la pagina los comentarios se borran, y cuando finalizo la compra no se guarda tampoco la información
Agrego a cada producto del carrito un campo para comentarios
function prefix_after_cart_item_name( $cart_item, $cart_item_key ) {
$notes = isset( $cart_item['notes'] ) ? $cart_item['notes'] : '';
printf(
'<td class="product-comment" data-title="Comentarios"><div><textarea class="%s" id="cart_notes_%s" data-cart-id="%s">%s</textarea></div></td>',
'prefix-cart-notes',
$cart_item_key,
$cart_item_key,
$notes
);
}
add_action( 'woocommerce_after_cart_item_name', 'prefix_after_cart_item_name', 10, 2 );
Hago un enqueue the archivo js para poder actualizar el valor del carrito al actualizarlo
function prefix_enqueue_scripts() {
wp_register_script( 'prefix-script', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'js/update-cart-item-ajax.js', array( 'jquery-blockui' ), time(), true );
wp_localize_script(
'prefix-script',
'prefix_vars',
array(
'ajaxurl' => admin_url( 'admin-ajax.php' )
)
);
wp_enqueue_script( 'prefix-script' );
}
add_action( 'wp_enqueue_scripts', 'prefix_enqueue_scripts' );
Archivo JS que se encarga de actualizar el carrito
(function($) {
$(document).ready(function() {
$('.prefix-cart-notes').on('change keyup paste', function() {
$('.cart_totals').block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
var cart_id = $(this).data('cart-id');
$.ajax({
type: 'POST',
url: prefix_vars.ajaxurl,
data: {
action: 'prefix_update_cart_notes',
security: $('#woocommerce-cart-nonce').val(),
notes: $('#cart_notes_' + cart_id).val(),
cart_id: cart_id
},
success: function(response) {
$('.cart_totals').unblock();
}
})
});
});
})(jQuery);
Ese codigo lo tome de aca pero no me estaria funcionando !
Actualmente se ve asi el carrito
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP