Replies: 0
hi
i added the 3 code snippets below to add the “add to cart”, “quantity in decimals” and “quantity” on the Shop homepage
my problem is this….everytime i try to change the quantity on any product on the Shop page, it automatically opens the products description page instead of letting me input the quantity. Would you happen to know how to stop this linking from happening
here are the code snippets
====================== add add to cart to shop code ======================
// register add to cart action
function dac_add_cart_button () {
add_action( ‘woocommerce_after_shop_loop_item_title’, ‘woocommerce_template_loop_add_to_cart’, 10 );
}
add_action( ‘after_setup_theme’, ‘dac_add_cart_button’ );
====================== allow decimal quantity ======================
// Add min value to the quantity field (default = 1)
add_filter(‘woocommerce_quantity_input_min’, ‘min_decimal’);
function min_decimal($val) {
return 0.1;
}
// Add step value to the quantity field (default = 1)
add_filter(‘woocommerce_quantity_input_step’, ‘nsk_allow_decimal’);
function nsk_allow_decimal($val) {
return 0.1;
}
// Removes the WooCommerce filter, that is validating the quantity to be an int
remove_filter(‘woocommerce_stock_amount’, ‘intval’);
// Add a filter, that validates the quantity to be a float
add_filter(‘woocommerce_stock_amount’, ‘floatval’);
====================== add quatity box to shop code ======================
/**
* Override loop template and show quantities next to add to cart buttons
*/
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;
}
thanks