該問題是由於您刪除了動作鉤'woocommerce_template_loop_add_to_cart'
而導致的,該動作掛鉤向啓用存檔頁面上的ajax Add-to-cart功能的按鈕代碼添加了基本信息。 你需要做的是,刪除當前的代碼,並使用下列內容:
add_filter('woocommerce_loop_add_to_cart_link', 'woo_archive_page_cart_button_custom_class', 10, 2);
function woo_archive_page_cart_button_custom_class($array, $product){
return 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>',
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 icon-shopping-cart' : '',
esc_attr($product->product_type),
esc_html($product->add_to_cart_text())
);
}
add_filter('woocommerce_product_add_to_cart_text', 'woo_archive_page_cart_button_custom_text');
function woo_archive_page_cart_button_custom_text() {
return __('Add to cart', 'woocommerce');
}
我想你有兩個動機。一個用於將存檔頁面上的按鈕文本更改爲「添加到購物車」,而不是默認的「閱讀更多」,也可以將購物車圖標添加到按鈕文本旁邊的按鈕中。
第一個過濾器掛鉤將自定義類"icon-shopping-cart"
添加到按鈕的默認類(我猜會渲染購物車圖標)。第二個過濾器鉤子更改按鈕文本。
希望這會有所幫助。