add-to-cart.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * Loop Add to Cart
  4. *
  5. * This template can be overridden by copying it to yourtheme/woocommerce/loop/add-to-cart.php.
  6. *
  7. * HOWEVER, on occasion WooCommerce will need to update template files and you
  8. * (the theme developer) will need to copy the new files to your theme to
  9. * maintain compatibility. We try to do this as little as possible, but it does
  10. * happen. When this occurs the version of the template file will be bumped and
  11. * the readme will list any important changes.
  12. *
  13. * @see https://docs.woocommerce.com/document/template-structure/
  14. * @author WooThemes
  15. * @package WooCommerce/Templates
  16. * @version 3.3.0
  17. */
  18. if ( ! defined( 'ABSPATH' ) ) {
  19. exit;
  20. }
  21. global $product;
  22. $args['class'] = isset( $args['class'] ) ? $args['class'] : 'button';
  23. if ( ! $product->is_purchasable() || ! $product->is_in_stock() ) {
  24. $args['class'] .= ' add_to_cart_button';
  25. }
  26. echo apply_filters( 'woocommerce_loop_add_to_cart_link', // xss ok
  27. sprintf( '<a href="%s" data-quantity="%s" class="%s" %s>%s</a>',
  28. esc_url( $product->add_to_cart_url() ),
  29. esc_attr( isset( $args['quantity'] ) ? $args['quantity'] : 1 ),
  30. esc_attr( $args['class'] ),
  31. isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '',
  32. esc_html( $product->add_to_cart_text() )
  33. ),
  34. $product, $args );