Use generic `ajax_add_to_cart` class for adding items in the loop to the cart via ajax.
This commit is contained in:
parent
37ed73f5b4
commit
856d192bff
|
@ -12,7 +12,7 @@ jQuery( function( $ ) {
|
|||
// AJAX add to cart request
|
||||
var $thisbutton = $( this );
|
||||
|
||||
if ( $thisbutton.is( '.product_type_simple' ) ) {
|
||||
if ( $thisbutton.is( '.ajax_add_to_cart' ) ) {
|
||||
|
||||
if ( ! $thisbutton.attr( 'data-product_id' ) ) {
|
||||
return true;
|
||||
|
|
|
@ -750,6 +750,17 @@ class WC_Product {
|
|||
return apply_filters( 'woocommerce_is_purchasable', $purchasable, $this );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not the product can be added to the cart via ajax
|
||||
*
|
||||
* @since 2.4.9
|
||||
* @return bool
|
||||
*/
|
||||
public function supports_ajax_add_to_cart() {
|
||||
return apply_filters( 'woocommerce_product_supports_ajax_add_to_cart', $this->is_type( 'simple' ), $this );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set a products price dynamically.
|
||||
*
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
* @see http://docs.woothemes.com/document/template-structure/
|
||||
* @author WooThemes
|
||||
* @package WooCommerce/Templates
|
||||
* @version 2.1.0
|
||||
* @version 2.4.9
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
|
@ -22,12 +22,13 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||
global $product;
|
||||
|
||||
echo apply_filters( 'woocommerce_loop_add_to_cart_link',
|
||||
sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button %s product_type_%s">%s</a>',
|
||||
sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button %s %s product_type_%s">%s</a>',
|
||||
esc_url( $product->add_to_cart_url() ),
|
||||
esc_attr( $product->id ),
|
||||
esc_attr( $product->get_sku() ),
|
||||
esc_attr( isset( $quantity ) ? $quantity : 1 ),
|
||||
$product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
|
||||
$product->supports_ajax_add_to_cart() ? 'ajax_add_to_cart' : '',
|
||||
esc_attr( $product->product_type ),
|
||||
esc_html( $product->add_to_cart_text() )
|
||||
),
|
||||
|
|
Loading…
Reference in New Issue