2014-07-03 37 views
5

我在WooCommerce 2.1.12版本中有大约10,000多种产品,WordPress版本3.9.1,并且通过导入错误,销售价格字段每填充一个“0”产品,从而使每个产品现在免费。尝试查找和批量编辑MySQL中的WooCommerce价格

所以,我需要做的,当然是一个查询,删除所有的人,但我似乎无法找到这些表的价格英寸

我做了一个广泛的搜索,我认为,试图在谷歌和这里找到这个。我来最接近的就是这个问题:

Need to get productdata out of mysql database

这看起来好像是在元领域,但我不能直观地看到他们那里。 任何人都知道哪里可以找到价格的细节,并且可能对查询结构有点帮助?

感谢您的时间,

NE

回答

4

这是你如何将打印价格:

SELECT p.id, p.post_title, m.meta_key, m.meta_value 
FROM wp_posts p 
INNER JOIN wp_postmeta m ON p.id=m.post_id 
    AND m.meta_key='_price' 

你怎么想的价格呢?更新它们?

要将价格设置为特定值,它非常简单。将价格设置为任何你想要的。

UPDATE wp_postmeta m 
    JOIN wp_posts p ON m.post_id=p.id 
    AND m.meta_key = '_price' 
    AND p.post_type = 'product' 
SET m.meta_value = <price> 
+0

稍作修改,帖子类型是没有任何前缀的'product'。 – brasofilo

+0

是的,没错。把它与课堂名称混在一起我认为:) – Pelmered

+0

1.仅编辑'_price'是不够的。还有'_regular_price'和'_sale_price'。销售价格是可选的。常规总是存在。 2.在大多数情况下,检查'post_type'是不必要的。 – tivnet

0

我需要做这样的事情。我不得不更新110种产品的价格。所有产品的尺寸均有变化,所有尺寸的价格均相同。这是我用来获取所有需要在后端进行更改的字段的查询。我在网上搜索,我搜索了名字中有价格的所有元键。在更新SQL后,前端的价格没有变化。我发现如果我对一个产品进行批量编辑(正常价格,因为这对于变化价格不起作用),那么所有价格都反映了数据库中的变化。奇怪。也许是缓存的东西。

SELECT p.id, IF(p.post_parent =0, p.id, p.post_parent) AS parent, p.post_type, p.post_title, m.meta_key, m.meta_value 
FROM wp_posts p 
INNER JOIN wp_postmeta m ON p.id = m.post_id 
WHERE 
    (m.meta_key IN ('_price','_regular_price') AND p.post_type = 'product_variation') OR 
    (m.meta_key IN ('_max_variation_price','_min_variation_price','_max_variation_regular_price','_min_variation_regular_price') AND p.post_type = 'product') 
ORDER BY parent 
1

几天前我们发布了PW WooCommerce Bulk Edit到WordPress.org的回购协议。这将有助于你的情况,而不需要进入数据库。

该插件是免费的,并有助于清理您的价格。全面披露:有一个付费版本,有更多的领域/功能。

https://wordpress.org/plugins/pw-bulk-edit