【发布时间】:2016-05-11 21:20:14
【问题描述】:
我正在尝试使用 wordpress 之外的 php/mysql 脚本更新 woocommerce 变化价格。
我有一个脚本可以更新wp_postmeta 表中product 的一个product_variation 的_price 和_regular_price 值。
如果我有 多个 变体,则该变体的正确价格会显示在网页上 - 但价格/价格范围来自 woocommerce 的价格。 php 没有更新。
但是,如果我有只有这一个变体,表格中的价格会更新,但在呈现的网页上根本不会。
我还尝试编辑product 本身的价格。但是:我仍然在呈现的网页上得到旧价格。
基本上我现在在这些领域有相同的新价格:
在product-variation -> postmeta中:_price, _regular_price
在product -> postmeta中:_price, _regular_price, _min_variation_price, _max_variation_price, _min_variation_regular_price, _max_variation_regular_price
我找不到任何其他有价格的字段 - 我卡住了......
我错过了什么吗?还有其他表/字段要更新吗?
感谢您的帮助!
-编辑-
也许这会有所帮助:显然,当只有一个变体时,我的价格会以echo $product->get_price_html(); 而不是echo $value['price_html']; 呈现。那么$product->get_price_html();中使用的价格存储在哪里?
【问题讨论】:
-
可变产品的价格在
sync()方法中确定。如果您以编程方式更改变体的价格,您还需要重新同步可变产品的价格。 -
嗨@helgatheviking,很遗憾我的脚本不在wordpress 中。我可以在我的functions.php中添加一个过滤器吗?喜欢钩入
woocommerce_get_price_html?如果是的话,你能告诉我如何触发同步吗?我不擅长使用 wordpress 钩子和过滤器...谢谢! -
@helgatheviking 今天我挖得更深了,发现包含
wp-load.php应该足以使用woocommerce钩子。我试着简单地打电话给do_action( 'woocommerce_variable_product_sync', $productId] );,但这无济于事。有什么想法吗?
标签: php mysql wordpress woocommerce