[英]About update product stock status function in WooCommerce 3
交易是,我必須修復自定義 WooCommerce 導入插件中的錯誤,該插件在將 WC 從 2.6 更新到 3.4 后出現。
它使用 'wc_update_product_stock_status' 函數,並用於傳遞 post(產品)id 和它在 DB 中表示的庫存狀態('instock' 和 'outofstock',作為字符串)。 但是現在,正如我在 WooCommerce 文檔( https://docs.woocommerce.com/wc-apidocs/function-wc_update_product_stock_status.html )中看到的那樣,它接受整數而不是字符串。
所以,問題是 - 存貨/缺貨值的那些整數是什么(1/0 不合適)。
如果您查看wc_update_product_stock_status()
函數中的源代碼:
/**
* Update a product's stock status.
*
* @param int $product_id
* @param int $status
*/
function wc_update_product_stock_status( $product_id, $status ) {
$product = wc_get_product( $product_id );
if ( $product ) {
$product->set_stock_status( $status );
$product->save();
}
}
它使用WC_Product
set_stock_status()
Woocommerce 3 CRUD 方法,該方法使用字符串但不是整數值:
/**
* Set stock status.
*
* @param string $status New status.
*/
public function set_stock_status( $status = 'instock' ) {
$valid_statuses = wc_get_product_stock_status_options();
if ( isset( $valid_statuses[ $status ] ) ) {
$this->set_prop( 'stock_status', $status );
} else {
$this->set_prop( 'stock_status', 'instock' );
}
}
所以這是
wc_update_product_stock_status()
函數中的注釋用法錯誤。
它仍然使用: 'instock'
和'outofstock'
狀態字符串。 默認值為'instock'
...
主要區別還在於,庫存狀態現在作為自定義分類法
product_visibility
outofstock
術語處理
在 Woocommerce 3 之前,庫存狀態被作為產品元數據處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.