关于 WooCommerce 3 更新产品库存状态功能
About update product stock status function in WooCommerce 3
问题是,我必须修复自定义 WooCommerce 导入插件中的错误,该错误在将 WC 从 2.6 更新到 3.4 后出现。
它使用 'wc_update_product_stock_status' 函数,并用于传递 post(产品)ID 及其在数据库中表示的库存状态('instock' 和 'outofstock' ,作为一个字符串)。但是现在,正如我在 WooCommerce 文档 (https://docs.woocommerce.com/wc-apidocs/function-wc_update_product_stock_status.html) 中看到的那样,它接受整数而不是字符串。
所以,问题是 - in/out 股票价值的那些整数是多少(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 method ,它使用字符串 但 不是整数 值:
/**
* 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' );
}
}
So it's an error in the comment usage in wc_update_product_stock_status()
function.
它仍然使用:'instock'
和 'outofstock'
状态字符串。默认值为 'instock'
…
The main difference is also that stock status is now handled as outofstock
term for the custom taxonomy product_visibility
在 Woocommerce 3 之前,库存状态 被处理为产品元数据。
问题是,我必须修复自定义 WooCommerce 导入插件中的错误,该错误在将 WC 从 2.6 更新到 3.4 后出现。
它使用 'wc_update_product_stock_status' 函数,并用于传递 post(产品)ID 及其在数据库中表示的库存状态('instock' 和 'outofstock' ,作为一个字符串)。但是现在,正如我在 WooCommerce 文档 (https://docs.woocommerce.com/wc-apidocs/function-wc_update_product_stock_status.html) 中看到的那样,它接受整数而不是字符串。
所以,问题是 - in/out 股票价值的那些整数是多少(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 method ,它使用字符串 但 不是整数 值:
/**
* 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' );
}
}
So it's an error in the comment usage in
wc_update_product_stock_status()
function.
它仍然使用:'instock'
和 'outofstock'
状态字符串。默认值为 'instock'
…
The main difference is also that stock status is now handled as
outofstock
term for the custom taxonomyproduct_visibility
在 Woocommerce 3 之前,库存状态 被处理为产品元数据。