亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果 WooCommerce 中的一種變體缺貨,則將所有變體設置為缺貨

如果 WooCommerce 中的一種變體缺貨,則將所有變體設置為缺貨

PHP
POPMUISE 2023-09-22 16:42:06
我們使用 WooCommerce 運行自助存儲系統,并使用 WooCommerce 訂閱插件。我們的存儲單元是一款具有可變訂閱的獨特產品。每個變體都有不同的計費周期(1 個月、3 個月、6 個月和 12 個月)。如果一種變體缺貨,我需要整個父產品或至少所有變體都缺貨。我沒有找到任何相關的設置,也沒有找到如何實現這一點。任何幫助表示贊賞。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

當一種變體缺貨時,以下操作將使所有變體缺貨(對于特定可變產品)(也適用于 WooCommerce 訂閱):


add_filter('woocommerce_available_variation', 'set_all_variations_out_of_stock', 10, 3 );

function set_all_variations_out_of_stock( $data, $product, $variation ) {

    // Set the Id(s) of the related variable product(s) below in the array

    if( in_array( $product->get_id(), array(738) ) ){

        $out_of_stock = false; // initializing

        

        // Loop through children variations of the parent variable product

        foreach( $product->get_visible_children() as $_variation_id ) {

            if( $_variation_id != $data['variation_id'] ) {

                $_variation = wc_get_product($_variation_id);

                

                

                if( ! $_variation->is_in_stock() ) {

                    $out_of_stock = true; // Flag as out of stock

                    break;

                }

            }

        }

        if ( $out_of_stock ) {

            $data['availability_html'] = '<p class="stock out-of-stock">'. __('Out of stock', 'woocommerce') .'</p>';

            $data['is_in_stock'] = false;

        }

    }

    return $data;

}

代碼位于活動子主題(活動主題)的 function.php 文件中。經過測試并有效。

重要的提示:

可以在父變量產品上管理庫存。

  1. 對可變產品啟用庫存管理(在“庫存”選項卡上)并在那里設置庫存。

  2. 禁用此可變產品的每個變體的庫存管理。

你完成了。庫存管理現在針對可變產品進行處理。


查看完整回答
反對 回復 2023-09-22
  • 1 回答
  • 0 關注
  • 99 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號