我有一个SQL脚本,该脚本应该与每天在服务器上上传的文本文档进行比较并调整常规价格。
新价格已写入数据库,在查看数据库时会看到它们。它们_regular_price在场中正确显示。问题是前端显示旧价格..直到我手动重新更新后端中的每个产品。由于我有成千上万种产品,因此无效且乏味。
_regular_price
我想念什么?
可变产品价格wp_options作为瞬态存储在表中’‘
wp_options
因此,您还需要通过SQL删除每个变量产品ID,如下所示:
DELETE FROM `wp_options` WHERE `wp_options`.`option_name` LIKE '_transient_timeout_wc_var_prices_1234' DELETE FROM `wp_options` WHERE `wp_options`.`option_name` LIKE '_transient_wc_var_prices_1234'
其中 1234 (最后)是可变产品ID。
1234
因此,以编程方式($product_id动态变量产品ID在哪里):
$product_id
global $wpdb; $wpdb->query( " DELETE FROM {$wpdb->prefix}options WHERE {$wpdb->prefix}options.option_name LIKE '_transient_timeout_wc_var_prices_$product_id' " ); $wpdb->query( " DELETE FROM {$wpdb->prefix}options WHERE {$wpdb->prefix}options.option_name LIKE '_transient_wc_var_prices_$product_id' " );
这将删除目标可变产品缓存’‘。
其他产品 (例如简单 产品 ) 未缓存”。在更新价格时,有2种情况:
1)该产品正在销售中:
_price
_sale_price
2)该产品不销售:
因此,_price并且_regular_price需要始终进行更新’‘。