2017-04-22 51 views
1

我對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; 
} 

但是,此功能僅適用於產品可變時沒有可用延期訂單。當啓用缺貨時,此功能不起作用。

如何使該功能也適用於缺貨產品?

我writen這個功能,但它不工作:

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

回答

3

你忘了你的代碼中的一些東西。試試這個(測試和工程)

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+)

如果您將關注的變化這樣該代碼將工作:

​​

+0

有人幫助這個代碼爲Woo 2.5.X? – Dora

相關問題