簡體   English   中英

顯示和隱藏缺貨變化 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM