在以编程方式更改状态后,Woocommerce产品变体“消失”

时间:2016-08-27 17:28:23

标签: php mysql wordpress woocommerce

我有一个脚本以编程方式更新woocommerce产品的价格。 现在我正在尝试禁用/设置私有变量,如果我的Feed没有价格。

以下是代码:

$query = "UPDATE wp_posts SET
            post_status = %s
            WHERE ID = %s";
$result = $wpdb->get_results( $wpdb->prepare($query, 'private', $post_id));

虽然db似乎正确更新,但更改不会反映在wp中。事实上,产品变化在后端和前端都完全消失。

似乎wp根本没有看到变化...

作为测试,我尝试了反向并将private变体设置回public,结果相同。

我还尝试在使用以下内容更新数据库后同步变体:

$_product = wc_get_product( $post_parent_id );
$_product->variable_product_sync();

do_action( 'woocommerce_variable_product_sync', $post_parent_id );

但结果是一样的。

有人知道这里发生了什么吗?

由于

1 个答案:

答案 0 :(得分:0)

好吧这是一个f#* ng错字:

正确的值为publish而不是public