【问题标题】:Update product variations prices in Woocommerce with WPDB query使用 WPDB 查询更新 Woocommerce 中的产品变体价格
【发布时间】:2017-05-05 12:51:39
【问题描述】:

我正在使用 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' )
            );
  }

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

【问题讨论】:

    标签: php sql wordpress woocommerce post-meta


    【解决方案1】:

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

    wc_delete_product_transients( $post_id );
    

    // $post_id 替换为产品ID

    【讨论】:

    • 对我没有用。除购物车外,仍然到处显示错误的价格。
    • @KarlJohanVallner 您是否使用任何价格调整插件?也尝试在 WooCoommerce -> 状态 -> 工具下删除临时缓存
    • 没有插件。出于某种奇怪的原因,清除缓存也无济于事。但是当我手动更新“产品”下的价格时,它的效果会膨胀。
    猜你喜欢
    • 2018-01-21
    • 2017-09-01
    • 2017-05-23
    • 2017-07-12
    • 1970-01-01
    • 2017-05-12
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多