【问题标题】:How to make product greyout when backorder product is not in stock?当缺货产品没有库存时如何使产品变灰?
【发布时间】:2017-09-19 13:10:30
【问题描述】:

我为 WooCommerce 提供了这个功能,如果产品当前没有库存,它会使产品变灰且不可选择。

add_filter( 'woocommerce_variation_is_active', 
'grey_out_variations_when_out_of_stock', 10, 2 );

function grey_out_variations_when_out_of_stock( $grey_out, $variation ) {

    if ( ! $variation->is_in_stock() )
        return false;

    return true;
}

但此功能仅适用于产品可变且没有可用延期交货的情况。启用延期交货时,此功能不起作用。

如何使此功能也适用于缺货产品?

我写了这个函数,但它不起作用:

add_filter( 'woocommerce_variation_is_active', 
function grey_out_variations_when_is_backorder( $grey_out, $variation ) {

    if (  ! $variation->is_in_stock() && $variation->backorders_require_notification() ){
        return false;
    }

    return true;
}

Test URL

【问题讨论】:

    标签: wordpress function woocommerce product orders


    【解决方案1】:

    您忘记了代码中的某些内容。试试这个(经过测试并且有效)

    add_filter( 'woocommerce_variation_is_active', 'grey_out_variations_when_is_backorder', 10, 2 );
    function grey_out_variations_when_is_backorder( $grey_out, $variation ) {
    
        if ( ! $variation->is_in_stock() && $variation->backorders_require_notification() )
            $grey_out = false;
    
        return $grey_out;
    }
    

    代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

    (适用于 WooCommerce 2.6.x 和 3.0+)

    如果您以这种方式设置相关变体,此代码将起作用:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      相关资源
      最近更新 更多