WooCommerce set_height()没有按预期工作

时间:2017-11-16 14:47:55

标签: php wordpress woocommerce

我有一个包含现有产品的WooCommerce网站。目前,产品没有尺寸,我希望通过编程方式按ID更新每个产品的尺寸。我以为我可以使用set_height()来做到这一点,但它没有像我预期的那样工作。

这是我在functions.php中的代码,用于快速测试:

$_product = new WC_Product(1234);
var_dump($_product);
$_product->set_height('2');
echo $_product->get_height();

这似乎是基于var_dump和get_height()echo语句。 var_dump是正确的产品信息,echo语句输出的数字是" 2"。但是,这似乎并没有真正保存产品数据。运行此代码然后查看产品后,它的高度值不应为2,而不是像以前一样空白。

我在这里迷失了,有关如何让它真正更新产品高度的任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

在您的情况下,有两种方法可以更新产品尺寸,例如高度:

1)使用 WC_Product setter方法+ save()方法:

$_product = wc_get_product(1234); // Get an instance of the WC_Product object

$_product->set_height('2'); // Set your new height

$_product->save(); //  <==  <==  Save the new data set in your product

2)使用产品ID中的update_post_meta()

 update_post_meta( 1234, '_height', 2 );