[英]Set all variations out of stock if one variation is out of stock in WooCommerce
[英]Showing and hiding out of stock variations woocommerce
我們有一個獨特的情況,我們需要展示產品的所有變體,即使它們缺貨 - 這是因為它們在技術上沒有缺貨 - 只是不能在線購買。 但是,在購買時,下拉菜單顯然不應該顯示我們設置為缺貨的變體,因為它們無法在線購買。
無論如何都允許選擇它們,然后顯示的out os stock 消息對於用戶來說非常笨拙且令人困惑。
是否有 woocommerce 功能,也許是為了獲取所有變體而不是默認的get_available_variations()
?
目前我們已經從選擇的目錄中隱藏缺貨項目,以便它們不會出現在購買下拉列表中,然后我們需要在以下位置顯示信息: content-single-product.php(子主題)
<?php
global $product;
$variations = $product->get_available_variations();
if (!empty($variations)){
foreach ($variations as $variation) {
$id = $variation['variation_id'];
echo $variation['attributes']['attribute_pa_delivery-method'] . '<br>';
echo $variation['duration'] . '<br>';
echo $variation['capacity'];
}
}
?>
當然,另一種選擇是取消選中“從目錄中隱藏缺貨商品”,並以某種方式防止變體出現在購買下拉列表中。
提前致謝。
您可以使用此代碼段簡單地禁用“缺貨”
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;
}else{
return true;
}
}
(來源)
然后簡單地用這個 CSS 代碼隱藏它
.variations option:disabled {
display:none;
}
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.