Skip to content
Advertisement

Replace add to cart button based on WooCommerce product weight [closed]

I’m building an online store with wordpress and woocommerce. I need to replace the add to cart button with a new button if the product’s weight is greater than 10 gram. how can I to do so?

Advertisement

Answer

I have a solution for replacing add to cart button for particular WooCommerce products(based on weight). so, you can use the below code and put it in the functions.php

// To change add to cart text on single product page
add_filter( 'woocommerce_product_single_add_to_cart_text', 
'woocommerce_custom_single_add_to_cart_text' ); 
function woocommerce_custom_single_add_to_cart_text() {

  global $product;
  $weight = $product->get_weight();
  preg_replace('/D/', '', $weight);
   if ( $product->has_weight() && ($weight > '9') ) {
     return __( 'Custom text', 'text-domain' );
   }
   return __( 'Add to Cart', 'text-domain' );
 }

  // To change add to cart text on product archives(Collection) page
  add_filter( 'woocommerce_product_add_to_cart_text', 
  'woocommerce_custom_product_add_to_cart_text' );  
  function woocommerce_custom_product_add_to_cart_text() {
    global $product;
    $weight = $product->get_weight();
    preg_replace('/D/', '', $weight);
    if ( $product->has_weight() && ($weight > '9')) {
      return __( 'Custom text', 'text-domain' );
    }
    return __( 'Add to Cart', 'text-domain' );
  }
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement