function western_custom_buy_buttons(){
$product = get_product();
if ( has_term( 'categ1', 'product_cat') ){
// removing the purchase buttons
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
}
}
add_action( 'wp', 'western_custom_buy_buttons' );
我怎样才能做到呢?请帮忙。
这里有一个完整的工作解决方案,它将用一个自定义的“Read More”
按钮来替换您定义的产品类别和仅简单产品的所有add-to-cart按钮。
此代码经过测试,并适用于2.6.x到3.0+的WooCommerce版本:
// Replacing add-to-cart button in shop pages and archives pages
add_filter( 'woocommerce_loop_add_to_cart_link',
'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
// WooCommerce compatibility
if ( method_exists( $product, 'get_id' ) ) {
$product_id = $product->get_id();
} else {
$product_id = $product->id;
}
if ( has_term( 'categ1', 'product_cat', $product_id ) && $product->is_type( 'simple') ) {
// Set HERE your button link
$link = get_permalink($product_id);
$html = '<a href="'.$link.'" class="button alt add_to_cart_button">'.__("Read More", "woocommerce").'</a>';
}
return $html;
}
// Outputing a custom button in Single product pages (you need to set the button link)
function single_product_custom_button( ) {
global $product;
// WooCommerce compatibility
if ( method_exists( $product, 'get_id' ) ) {
$product_id = $product->get_id();
} else {
$product_id = $product->id;
}
if ( has_term( 'categ1', 'product_cat', $product_id ) ) {
// Set HERE your button link
$link = '#';
echo '<a href="'.$link.'" class="button alt add_to_cart_button">'.__("Read More", "woocommerce").'</a>';
}
}
// Replacing add-to-cart button in Single product pages
add_action( 'woocommerce_single_product_summary', 'removing_addtocart_buttons', 1 );
function removing_addtocart_buttons()
{
global $product;
// WooCommerce compatibility
if ( method_exists( $product, 'get_id' ) ) {
$product_id = $product->get_id();
} else {
$product_id = $product->id;
}
if ( has_term( 'categ1', 'product_cat', $product_id ) )
{
#### Removing the add-to-cart button ####
## Simple products
remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
## Other products types
// remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
// remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
// remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
// remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
// remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
#### Adding a custom replacement button ####
## Simple products
add_action( 'woocommerce_simple_add_to_cart', 'single_product_custom_button', 30 );
## Other products types
// add_action( 'woocommerce_grouped_add_to_cart', 'single_product_custom_button', 30 );
// add_action( 'woocommerce_variable_add_to_cart', 'single_product_custom_button', 30 );
// add_action( 'woocommerce_external_add_to_cart', 'single_product_custom_button', 30 );
// add_action( 'woocommerce_single_product_summary', 'single_product_custom_button', 30 );
// add_action( 'woocommerce_single_variation', 'single_product_custom_button', 20 );
}
}
代码存在于活动子主题(或主题)的function.php文件中,也存在于任何插件文件中。
我正在尝试将我的WooCommerce档案页面上特定产品类别的add to cart按钮更改为“Read More”按钮,该按钮将链接到产品页面(但不链接到单个产品页面本身)。 使用“将添加到购物车按钮替换为WooCommerce 3中的shop pages中的read more链接到product页面”的答案代码,如何将其限制为仅有一个产品类别(本例中术语名称为“Classs”)? 感谢任何帮助
我正在尝试为variations父产品创建一个单独的add to cart按钮。我正在使用以下方法访问产品数据: 谢谢你。
代码: 我在/r/woocommerce上发了帖子,但没有得到任何答复:/希望在这里有什么:3 有人知道去哪找吗?谢谢:)
我怎么把这两个结合起来?在网上找不到任何东西。
问题内容: 单击后,我想重新标记“ 添加到购物车” 按钮,然后将一项添加到购物车, 再添加到购物车中 。 这可能吗? 我有第二个 转到购物车* 按钮的Child-Theme function.php ,并且它正在工作。 * 但是我不知道在将一件商品添加到购物车后如何解决此重新标签问题(商店仅出售一件尺寸不同的商品)。我希望我很清楚。 这是我的代码: 问题答案: 更新: 在下面,您将找到使此重新标记