首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更新Woocommerce可变产品的所有产品变体销售价格

更新Woocommerce可变产品的所有产品变体销售价格
EN

Stack Overflow用户
提问于 2018-04-09 15:38:42
回答 1查看 2.5K关注 0票数 1

我有大约10种产品,每种产品有近200种变体。我需要更新一个特定产品的销售价格,包括它的所有变化。

问题是:

所有的变化都有不同的价格。未输入销售价格-所有销售价格输入框都是空的。

我需要一个SQL解决方案来运行和更新特定产品的所有销售价格,方法是采用常规价格并从其中扣除350,或

任何其他的方式,我不知道在现阶段,因为我已经尝试了许多解决方案,包括Woocommerce内置的解决方案“设定销售价格”,这是不工作,因为价格是不一样的。

代码语言:javascript
运行
复制
SELECT * FROM `wp_postmeta` WHERE post_id = "1097"
UPDATE `meta_id` = (SELECT * FROM `wp_postmeta` WHERE `meta_value` = _regular_price) - 350 WHERE `meta_key` = _sale_price

经过编辑的查询(如对Stackoverflow的研究)表明,wp_postmeta表保存产品值,wp_posts表保存产品id值。

下面是我面临的问题的屏幕截图:

您将看到meta_id是不同的,而post_id是相同的,这是因为在WordPress中,post_id是产品,在本例中,它本身有许多变体,而meta_id是需要对每个变体进行更新的_sale_price部件。

我希望这是合理的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-09 16:29:03

尝试如下(其中,行AND p.ID = 19 ==> 19是您的可变产品ID)

代码语言:javascript
运行
复制
UPDATE wp_postmeta as pm
JOIN  wp_postmeta as pm2 ON pm.post_id = pm2.post_id
SET pm.meta_value = ( pm2.meta_value - 350 )
WHERE pm.meta_key LIKE '_sale_price'
  AND pm2.meta_key LIKE '_regular_price'
  AND pm.post_id IN
    ( SELECT p2.ID
     FROM wp_posts AS p
     JOIN wp_posts AS p2 ON p2.post_parent = p.ID
     WHERE p.post_type = 'product'
       AND p.post_status = 'publish'
       AND p.ID = 19
       AND p2.post_type = 'product_variation'
       AND p2.post_status = 'publish' );

测试和工作(总是在备份之前)

因此,在这个对定义的可变产品ID的SQL查询中,它将用常规价格减去350…替换所有产品变体销售价格。

,正如您所看到的,它可以工作,…无错误

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49736722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档