使用 WPDB 查询更新 Woocommerce 中的产品变体价格

Update product variations prices in Woocommerce with WPDB query

我正在使用 WordPress 4.7.4 和 WooCommerce 3.0.5。

我使用 meta_id 更新了 _sale_price_price_regular_price,代码如下:

   $meta_tbl = $wpdb->prefix.'postmeta';
   foreach ($_POST['loop'] as $loop_k => $loop_v) {
        $wpdb->update(
            $meta_tbl,
                array( 'meta_value' => $loop_v['price'] ),
                array( 'meta_id' => $loop_v['price_meta_id'] ),
                array( '%d' )
            );
        $wpdb->update(
            $meta_tbl,
                array( 'meta_value' => $loop_v['regular_price'] ),
                array( 'meta_id' => $loop_v['regular_price_meta_id'] ),
                array( '%d' )
            );
        $wpdb->update(
            $meta_tbl,
                array( 'meta_value' => $loop_v['sale_price'] ),
                array( 'meta_id' => $loop_v['sale_price_meta_id'] ),
                array( '%d' )
            );
  }

但是店铺页面还是显示商品的旧价格!我怎样才能正确地做到这一点?

尝试在您的代码后添加这一行。

wc_delete_product_transients( $post_id );

// $post_id 替换为产品 ID