【问题标题】:Add backorders stock status to Woocommerce variable product dropdown将缺货库存状态添加到 Woocommerce 可变产品下拉列表
【发布时间】:2023-03-06 01:48:01
【问题描述】:

我想在下拉菜单中显示可变产品的库存状态,包括“延期交货”,因为我网站上的大多数产品都可以延期交货,而不是“缺货”。

我已经尝试了来自 How to add variation stock status to Woocommerce product variation dropdown 的答案,但是,每个变量都被列为“有货”,因为产品设置为允许延期交货。

我想像下面那样检查实际库存水平,但我无法通过上面的链接使其正常工作。

$var_stock_count = $variation->get_stock_quantity();

// if there are 0 or less, display 'on backorder'
if( $var_stock_count <= 0 ) {
   return ' - (On Backorder)';
}
else {
   return ' - (In Stock)';
}

我需要帮助将两段代码合并在一起。谢谢!

【问题讨论】:

    标签: php wordpress woocommerce stock variations


    【解决方案1】:

    这个更新的函数将处理延期交货的产品(当库存数量小于 1 时)

    // Function that will check the stock status and display the corresponding additional text
    function get_stock_status_text( $product, $name, $term_slug ){
        foreach ( $product->get_available_variations() as $variation ){
            if($variation['attributes'][$name] == $term_slug ) {
                $is_in_stock = $variation['is_in_stock'];
                $backordered = get_post_meta( $variation['variation_id'], '_backorders', true );
                $stock_qty   = get_post_meta( $variation['variation_id'], '_stock', true );
                break;
            }
        }
        $stock_status_text = $is_in_stock == 1 ? ' - (In Stock)' : ' - (Out of Stock)';
        return $backordered !== 'no' && $stock_qty <= 0 ? ' - (On Backorder)' : $stock_status_text;
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

    替换this answer thread 上的第一个函数

    你会得到类似的东西:

    【讨论】:

      猜你喜欢
      • 2018-04-21
      • 2019-07-17
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多