将类添加到WooCommerce添加到购物车按钮(仅当它不是“选项”按钮时)
我试图向WooCommerce添加一个类添加到购物车按钮。将类添加到WooCommerce添加到购物车按钮(仅当它不是“选项”按钮时)
我能够通过woocommerce/loop/add-to-cart.php
这里进行更改添加到购物车按钮是我改变了我的附加到cart.php文件
/**
* Loop Add to Cart
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.1.0
*/
if (! defined('ABSPATH')) {
exit; // Exit if accessed directly
}
global $product;
echo apply_filters('woocommerce_loop_add_to_cart_link',
sprintf('<div class="add-to-cart-container"><a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="%s product_type_%s single_add_to_cart_button button alt ajax_add_to_cart"><i class="fa fa-shopping-cart"></i> %s</a></div>',
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' : '',
esc_attr($product->product_type),
esc_html($product->add_to_cart_text())
),
$product);
我只想<a>
中的ajax_add_to_cart
类应用于简单产品,而不是具有带“选择选项”文本按钮的可变产品。但我想要将所有其他更改应用于这两个按钮。
这怎么办?
替换ajax_add_to_cart
为%s
并添加一个参数到您的sprintf
函数。
sprintf('<div class="add-to-cart-container"><a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="%s product_type_%s single_add_to_cart_button button alt %s"><i class="fa fa-shopping-cart"></i> %s</a></div>',
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' : '',
esc_attr($product->product_type),
$product->product_type == 'simple' ? 'ajax_add_to_cart' : '',
esc_html($product->add_to_cart_text())
),
'//假设$ product-> type为type属性' '$ product-> product_type =='simple'? 'ajax_add_to_cart':'',' 正在诀窍! – xslibx
我实际上已将其更改为检查产品类的条件,因为您曾说过这是知道它是简单还是可变的正确方法:) – lucasnadalutti
编辑工作之前的第一个答案。只要它是'$ product-> product_type'而不是'$ product-> type' – xslibx
如何判断产品是简单的还是可变的?一些特定的属性? – lucasnadalutti
我检查了添加到购物车按钮(“添加到购物车”和“选择选项”)。我知道一个可变的产品(“选择选项”按钮)有一个类'product_type_variable'和一个简单的产品(“添加到购物车”按钮)有一个类'product_type_simple' 我为此做的工作是删除'ajax_add_to_cart'类构成'add-to-cart.php'文件,并使用jQuery将类添加到正确的按钮中。 – xslibx
好吧,如果你确实有权访问PHP代码,我建议你照我的建议回答。我认为这是更清洁的,因为你会把整个逻辑放在一个地方。 – lucasnadalutti