tienda página productos producto para mostrar destacado contiene categorias categoria carrito boton añadir aleatorios php jquery ajax wordpress woocommerce

php - página - url añadir al carrito woocommerce



Wordpress-usando Ajax en WooCommerce añadir al carrito shortcodes (1)

Necesita agregar otras clases al botón, es decir, add_to_cart_button & ajax_add_to_cart . Espero que esto te sirva.

Tengo un problema bastante extraño con una compilación personalizada que estoy haciendo en Wordpress. Estoy utilizando ganchos para sobrescribir el botón "agregar al carro" de un tema de inicio en una página personalizada que muestra productos. Lo extraño es que cuando recorro el botón Agregar al carrito para agregar opciones de cantidad en mis productos, la función Ajax original desaparece. Luego implementé otra función para volver a agregarla (y para actualizar mi número personalizado de elementos del carrito en la vista del carro), pero aunque funciona en el carro, no parece funcionar para mi página de compras personalizada. .

Estoy usando este fragmento en mi encabezado para manejar los contenidos del carrito:

<?php if ( in_array( ''woocommerce/woocommerce.php'', apply_filters( ''active_plugins'', get_option( ''active_plugins'' ) ) ) ) { $count = WC()->cart->cart_contents_count; ?><a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( ''View your shopping cart'' ); ?>"><?php if ( $count > 0 ) { ?> <span class="cart-contents-count"><?php echo esc_html( $count ); ?></span> <?php } ?></a>

Y aquí están mis dos funciones en my child-theme functions.php:

/** * Ensure cart contents update when products are added to the cart via AJAX */ function my_header_add_to_cart_fragment( $fragments ) { ob_start(); $count = WC()->cart->cart_contents_count; ?><a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( ''View your shopping cart'' ); ?>"><?php if ( $count > 0 ) { ?> <span class="cart-contents-count"><?php echo esc_html( $count ); ?></span> <?php } ?></a><?php $fragments[''a.cart-contents''] = ob_get_clean(); return $fragments; } add_filter( ''woocommerce_add_to_cart_fragments'', ''my_header_add_to_cart_fragment'' ); /** * Add quantity to products in Products Page */ add_filter( ''woocommerce_loop_add_to_cart_link'', ''quantity_inputs_for_woocommerce_loop_add_to_cart_link'', 10, 2 ); function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) { if ( $product && $product->is_type( ''simple'' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) { $html = ''<form action="'' . esc_url( $product->add_to_cart_url() ) . ''" class="cart" method="post" enctype="multipart/form-data">''; $html .= woocommerce_quantity_input( array(), $product, false ); $html .= ''<button type="submit" class="button alt">'' . esc_html( $product->add_to_cart_text() ) . ''</button>''; $html .= ''</form>''; } return $html; }

Creo que mi segunda función, que agrega un nuevo botón agregar al carro, está sobrescribiendo la funcionalidad inicial de Ajax, pero todo lo que intento hacer para volver a agregar esta funcionalidad no está funcionando. No soy el mejor en JS / jQuery, así que es probable que no esté implementando mi código correctamente.

Cualquier ayuda con esto sería muy apreciada.