当前位置: 首页 > 知识库问答 >
问题:

如何隐藏单个产品页面上的“添加到购物车”按钮-woocommerce

赫连俊雄
2023-03-14

我是新WordPress和WooCommerce。如果产品重量大于8克,我必须隐藏添加到购物车按钮。我用这个代码做到了这一点。

add_action( 'woocommerce_checkout_process', 'action_woocommerce_checkout_process', 10, 0 );

add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2 );
function replace_default_button( $button, $product ){

$weight = $product->get_weight();
preg_replace('/\D/', '', $weight);

if ( $weight > 8 ){
    $button = '';
}
return $button;
}

它在商店页面上工作得很好。但它在单一产品页面上不起作用。请帮助我隐藏添加到购物车按钮在单一产品页面只有当产品的重量大于8克。

共有1个答案

常光明
2023-03-14

您的代码适用于商店页面,对于单个页面,您需要使用不同的钩子:

// Removing the single product button add to cart
add_action( 'woocommerce_single_product_summary', 'replace_single_add_to_cart_button', 1 );
function replace_single_add_to_cart_button() {
    global $product;
    $weight = $product->get_weight();
    preg_replace('/\D/', '', $weight);

    if ( $weight > 8 ){
       // For variable product types
       remove_action( 'woocommerce_single_variation','woocommerce_single_variation_add_to_cart_button', 20 );
       // For all other product types
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    }
}
 类似资料:
  • 我正在工作的一个woocommerce主题,我需要隐藏添加到购物车按钮的产品有0作为价格,因为这些产品可能只是查询,而不是添加到购物车。我已经成功地隐藏了‘添加到购物车’按钮在产品页面,然而,我有一个困难的时间这样做在商店页面/类别页面。 下面是我的代码,用于过滤add to cart以及更改默认的“free!”留言。 } 有什么建议吗?我想看看我能不能用CSS把它隐藏起来...

  • 我试图隐藏所有产品的“添加到购物车”按钮,除了我的woocommerce网站上的一个或两个项目。 这里有一个简单的解决方案,我发现将产品设置为“可购买=虚假”。放入function.php文件后,所有“添加到购物车”按钮都会消失。 如何将异常添加到此中? 我想显示产品ID的添加到购物车按钮22 我花了几个小时研究,如果有任何帮助,我将不胜感激。

  • 我试图隐藏的添加到购物车按钮在所有的产品,除了一个可变的产品,我有。我已经尝试了以下留下变量选择选项(这是我想要的),但它隐藏了添加到购物车按钮(我不想要)。 有办法做到这一点吗? 我所有的产品都是简单的产品,除了这个单一的变量产品,所以也许有一个功能可以隐藏除了变量之外的所有简单产品的购物车按钮?

  • 如何更改代码以使其只适用于已定义的产品类别?

  • 我正在使用Woocommerce,正在搜索一种方法来隐藏单个产品页面上的“添加到购物车”按钮,如果该产品是免费的-我正在进行大型CSV导入,并且一些产品的价格设置为零-我只想隐藏这些产品上的“添加到购物车”按钮,因此这些产品不可购买。 已经在支持页面上问过了,但没有成功 问候

  • 我正在尝试添加一个自定义链接按钮,导致联系人页面-在第一个如果条件,显示“联系我们”文本与自定义URL在按钮上,而不是“添加到篮子”按钮。