根据产品的重量和产品和产品变化类型的底价(自定义字段)更新Woocommerce常规价格

时间:2019-08-16 06:05:29

标签: mysql sql wordpress woocommerce phpmyadmin

我想每天在WooCommerce商店上更新常规价格。正常价格应计算并保存为“产品重量” *“基准价格”。基本价格是一个自定义字段(base_price),每天都会为所有产品更新,包括后端的变化(使用sql查询),该产品也存储在wp_postmeta表中。

常规价格=产品重量(_重量)*基本价格(基本价格)

我正在使用WordPress 5.2.2和WooCommerce 3.6.5。

我尝试运行以下SQL

UPDATE `wp_postmeta` AS a,
       `wp_postmeta` AS b
SET a.`meta_value`= (SELECT b.`meta_value` FROM `wp_postmeta` WHERE b.`meta_key`= "_weight") * (SELECT b.`meta_value` FROM `wp_postmeta` WHERE b.`meta_key`= "base_price")
AND b.`meta_key` = "_regular_price"
AND b.`post_id` IN
    (SELECT `ID`
     FROM `wp_posts`
     WHERE `post_type` = 'product' 
     OR `post_type` = 'product_variation'
     AND `post_status` = 'publish');

在子查询中返回以下错误时返回多行。如果我们用Post_id添加另一个条件,那么它将用相同的值更新所有记录。示例-(从meta_value中的b。wp_postmeta =“ _weight”和b。meta_key = 123中选择b。post_id

错误-子查询返回多于1行

我遇到过类似的问题,其中常规价格是用销售价格-Copy WooCommerce products Sale prices to regular prices and reset Sale prices更新的。但是我要根据相同产品的其他属性(例如重量和底价)更新常规价格。

0 个答案:

没有答案