我从库存API导入销售价格,它运行良好。我正在通过元键设置产品价格,以及预定日期,并且它正在工作;我可以在产品视图和数据库中看到它们。
$campaign_start_date = strtotime( $campaign["startDate"] );
$campaign_end_date = strtotime( $campaign["endDate"] );
$percentage_off_price = $campaign["percentageOffEntirePurchase"];
然而,问题出现了,WooCommerce不会将这些产品视为在售产品。过了一会儿,我发现还有一把钥匙:
_transient_wc_products_onsale$products_on_sale = get_option( "_transient_wc_products_onsale" );
然后我相应地更新了这些。它基本上是一组正在销售的产品ID。在我更新此字段后,WooCommerce开始在网站的on-sale主页视图中显示正在销售的产品。
但是,价格没有显示,产品块上的小标记也没有显示,它指示产品正在销售并显示销售价格。
我已经在谷歌上搜索了一个小时,但什么也没找到。
我想还有另外一个关键点,我必须更新,但我不知道。我也没有从数据库中找到任何东西。
最合适的回答,由SO网友:martinikene 整理而成
我想我也应该把答案贴在这里,以防其他人会寻找答案。
为什么销售价格没有完全改变,是因为我没有更改所有必填字段。
Woocommerce有三个不同的领域来保持每种产品的价格。有常规价格字段、销售价格和第三个价格字段。在设置销售价格时,我还必须将常规价格字段更改为与销售价格相同。否则,Woocommerce不承认这一点。