【发布时间】:2017-01-04 03:56:31
【问题描述】:
我有一个以编程方式更新 woocommerce 产品价格的脚本。 现在,如果我的提要中没有价格,我正在尝试禁用/设置私有变体。
代码如下:
$query = "UPDATE wp_posts SET
post_status = %s
WHERE ID = %s";
$result = $wpdb->get_results( $wpdb->prepare($query, 'private', $post_id));
虽然 db 似乎已正确更新,但更改并未反映在 wp.xml 中。事实上,产品变化在后端和前端都完全消失了。
似乎 wp 根本看不到变化...
作为测试,我尝试了相反的操作,并将 private 变体设置回 public,结果相同。
我还尝试在更新数据库后同步变体:
$_product = wc_get_product( $post_parent_id );
$_product->variable_product_sync();
或
do_action( 'woocommerce_variable_product_sync', $post_parent_id );
但结果是一样的。
有人知道这里发生了什么吗?
谢谢
【问题讨论】:
标签: php mysql wordpress woocommerce