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

在Woocommerce product variations中为特定属性值隐藏“添加到购物车”按钮

和飞翔
2023-03-14

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

共有1个答案

罗允晨
2023-03-14

以下是在产品属性为“pa_size”并具有“xl”值的产品变体上使add to cart按钮不活动的方法

add_filter( 'woocommerce_variation_is_purchasable', 'conditional_variation_is_purchasable', 20, 2 );
function conditional_variation_is_purchasable( $purchasable, $product ) {

    ## ---- Your settings ---- ##

    $taxonomy  = 'pa_size';
    $term_name =  'XL';

    ## ---- The active code ---- ##

    $found = false;

    // Loop through all product attributes in the variation
    foreach ( $product->get_variation_attributes() as $variation_attribute => $term_slug ){
        $attribute_taxonomy = str_replace('attribute_', '', $variation_attribute); // The taxonomy
        $term = get_term_by( 'slug', $term_slug, $taxonomy ); // The WP_Term object
        // Searching for attribute 'pa_size' with value 'XL'
        if($attribute_taxonomy == $taxonomy && $term->name == $term_name ){
            $found = true;
            break;
        }
    }

    if( $found )
        $purchasable = false;

    return $purchasable;
}

代码放在您的活动子主题(或主题)的function.php文件中。经过测试并起作用。

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

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

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

  • 我怎样才能使它像预期的那样工作呢? 下面是它在这个链接上的实际工作方式。

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

  • 我想在单个产品页面中向“添加到购物车”按钮显示产品价值(版本) 我找到了必须编辑的文件:woocommerce\templates\single-product\add-to-cart\external.php 但现在我的“添加到购物车”按钮上什么也没有显示