只隐藏"添加到购物车" -Button而不影响变体下拉列表或数量等其他内容的正确方法是什么?
我在按钮上找到了使用display:none
的解决方案,但这可以绕过。
我的目标是在某些产品上更换"添加到购物车" - 按钮,然后使用"请求价格" - 按钮。
答案 0 :(得分:1)
插件> woocommerce并打开文件woocommerce.php
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 );
此代码将帮助您从商店页面和产品详细信息页面隐藏添加到购物车按钮
答案 1 :(得分:1)
仅隐藏" 添加到购物车" -
function remove_loop_button(){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
}
add_action('init','remove_loop_button');
add_action('woocommerce_after_shop_loop_item','replace_add_to_cart');
function replace_add_to_cart() {
global $product;
$link = $product->get_permalink();
echo do_shortcode('<a href="'.$link.'" class="button addtocartbutton">Request price</a>');
}
它将删除商店页面中每件商品的“添加到购物车”按钮。
在这里你可以获得WooCommerce Action和Filter Hook - https://docs.woothemes.com/wc-apidocs/hook-docs.html
答案 2 :(得分:0)
您好,这是您的解决方法代码。你需要使用不影响其他代码的钩子。这将删除所有产品的添加到购物车按钮。
function remove_loop_button(){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
add_action('init','remove_loop_button');
以下是代码,如果您想更改添加到购物车按钮文本,您可以使用该代码。
add_filter( 'add_to_cart_text', 'woo_custom_cart_button_text' ); // < 2.1
function woo_custom_cart_button_text() {
return __( 'My Button Text', 'woocommerce' );
}
More about woocommerce hook and filters
我希望这会对你有所帮助。
答案 3 :(得分:0)
function remove_loop_button(){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
add_action('init','remove_loop_button');
此代码适用于我。
如果失败了,我去了插件/ woocommerce中的wc-template-hooks.php评论以下内容: -
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
答案 4 :(得分:0)
我希望这对某些人有帮助,我遇到了一个名为Rango的主题问题,它显示了重复添加到购物车按钮,反正...我不得不进入wp-content / themes / rango / inc / woo /并且有一个名为hooks.php的文件,我注释掉了add_action('woocommerce_after_shop_loop_item', 'ftc_template_loop_add_to_cart', 80);
,这对我有用。