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

在WooCommerce中隐藏“添加到购物车”按钮,但显示库存状态

殷功
2023-03-14

我想在WooCommerce中隐藏“添加到购物车”按钮,但仍然显示股票状态消息...这在CSS很容易,但我正在寻找一个解决方案在PHP。

  // Remove add to cart on single product pages
  add_action( 'woocommerce_single_product_summary', 'hide_single_product_prices', 1 );

  function hide_single_product_prices(){

global $product;

  if ( has_term( array('category1', 'category2', 'category3', 'category4'), 'product_cat', $product->get_id() ) ) :


  //Hide add-to-cart button, quantity buttons (and attributes dorpdowns for variable products)
if( ! $product->is_type('variable') ){

  remove_action('woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 30 );
  } else {

  remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
  }

  endif;
  }```

共有1个答案

班昱
2023-03-14
<?php if( ! your_custom_function( $product ) : ?>
    <div class='buttons-container'>
        <button type="submit" name="add-to-cart" value="<?php echo esc_attr( $product->get_id() ); ?>" class="single_add_to_cart_button btn btn--pink"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>
    </div>
<?php endif; ?>

这样做的缺点是,如果您希望它适用于所有产品类型,那么您必须复制每个模板并执行类似的操作。

因此,您可以做的另一种选择是删除该操作--就像您在上面的代码中所做的那样,然后在您想要的地方重新添加股票显示。基于上述原因,我会倾向于这个方向。类似这样的事情:

remove_action( 'woocommerce_single_product_summary','woocommerce_template_single_add_to_cart', 30 );
add_action( 'woocommerce_single_product_summary', function(){
    global $product;
    if( $product->is_purchasable() ){
        echo wc_get_stock_html( $product );
    }
}, 30 );
 类似资料:
  • 我怎么把这两个结合起来?在网上找不到任何东西。

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

  • 问题内容: 单击后,我想重新标记“ 添加到购物车” 按钮,然后将一项添加到购物车, 再添加到购物车中 。 这可能吗? 我有第二个 转到购物车* 按钮的Child-Theme function.php ,并且它正在工作。 * 但是我不知道在将一件商品添加到购物车后如何解决此重新标签问题(商店仅出售一件尺寸不同的商品)。我希望我很清楚。 这是我的代码: 问题答案: 更新: 在下面,您将找到使此重新标记

  • 在Woocommerce中,我试图隐藏add to cart按钮,以便为属性之一选择特定值。每个变量都有两个属性(和)。例如,对于变量产品,我们有以下选项:

  • 我正在工作的一个woocommerce主题,我需要隐藏添加到购物车按钮的产品有0作为价格,因为这些产品可能只是查询,而不是添加到购物车。我已经成功地隐藏了‘添加到购物车’按钮在产品页面,然而,我有一个困难的时间这样做在商店页面/类别页面。 下面是我的代码,用于过滤add to cart以及更改默认的“free!”留言。 } 有什么建议吗?我想看看我能不能用CSS把它隐藏起来...

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