试图在MySQL中查找并批量编辑WooCommerce价格

时间:2014-07-03 19:12:35

标签: mysql wordpress woocommerce commerce

我在WooCommerce版本2.1.12,WordPress版本3.9.1中有大约10,000多种产品,并且通过导入错误,销售价格字段填充了" 0"在每个产品中,从而使每个产品免费。

所以,当然,我需要做的是删除所有这些内容的查询,但我似乎无法找到价格所在的表格。

我进行了广泛的搜索,我,试图在Google和这里找到它。我最接近的是这个问题:

Need to get productdata out of mysql database

看起来好像在元字段中,但我无法在视觉上看到它们。 任何人都知道在哪里可以找到价格的细节,也许在查询结构上有点帮助?

感谢您的时间,

NE

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

我们几天前发布了PW WooCommerce Bulk Edit到WordPress.org repo。这将有助于您的情况,而无需进入数据库。

该插件是免费的,有助于清理价格。完全披露:有一个付费版本,有更多的字段/功能。

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

答案 2 :(得分: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