使用 WPDB 查询更新 Woocommerce 中的产品变体价格
Posted
技术标签:
【中文标题】使用 WPDB 查询更新 Woocommerce 中的产品变体价格【英文标题】:Update product variations prices in Woocommerce with WPDB query 【发布时间】: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' )
);
但商店页面仍然显示产品的旧价格!我怎样才能正确地做到这一点?
【问题讨论】:
【参考方案1】:尝试在您的代码后添加这一行。
wc_delete_product_transients( $post_id );
// $post_id 替换为产品ID
【讨论】:
对我没有用。除购物车外,仍然到处显示错误的价格。 @KarlJohanVallner 您是否使用任何价格调整插件?也尝试在 WooCoommerce -> 状态 -> 工具下删除临时缓存 没有插件。出于某种奇怪的原因,清除缓存也无济于事。但是当我手动更新“产品”下的价格时,它的效果会膨胀。以上是关于使用 WPDB 查询更新 Woocommerce 中的产品变体价格的主要内容,如果未能解决你的问题,请参考以下文章
在 Woocommerce 之前通过 _sale_price_dates_to 获取产品 ID
使用变量时的 Wordpress 数据库查询 ($wpdb) 错误