【问题标题】:Woocommerce product variations "disappear" after programmatically changing status以编程方式更改状态后,Woocommerce 产品变体“消失”
【发布时间】: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


    【解决方案1】:

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

    正确的值是publish 而不是public

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 2013-04-23
      • 1970-01-01
      • 2022-09-26
      • 2019-07-16
      相关资源
      最近更新 更多