我是wordpress,woocommerce和PHP的新手,我需要你的帮助来解决长期头痛问题。
我有2个在线商店应该共享相同的库存产品。
我制作了一个PHP代码,每次发出订单时都会运行,并在服务器上写入stock.csv,其中包含每个变量产品的实际库存。另一个php代码从另一个在线商店(不在同一主机服务器上)读取csv,如果另一个商店的每个变量产品较低,则更新它的库存。当需要根据其他商店减少库存时,它工作正常。
有时我会收到新的库存并且需要花费大量时间来更新这两个商店,因此我只更新其中一个商店,然后运行相同的更新库存的程序,但更改条件只是为了从csv复制相同的数量每个变量产品都基于名称和变量代码。
以下代码是更新库存的一小部分,以准确复制每个变量产品的数量:
K是本地商店,需要将其库存更新为与商店相同。 $ kid是每个变量产品的post_id
if($astock>0){
update_post_meta( $kid, '_stock', $astock);
update_post_meta( $kid, '_stock_status', 'instock');
}
else{
update_post_meta( $kid, '_stock', 0);
update_post_meta( $kid, '_stock_status', 'outofstock');
}
$my_post = array('ID' => $kid);
wp_update_post($my_post, $wp_error);
我的问题是每个变量产品的库存和库存状态都得到了很好的更新,但主要产品仍然缺货(我看到这个"缺货"管理woocommerce产品编辑页面上的标签)。我设置woocommerce不显示缺货产品,所以即使它有库存的可变产品(我在产品编辑界面检查),主要产品没有在商店页面上显示。我必须编辑每个产品,然后按更新(如更新博客文章)。一切都好之后。
是否有用于更新主要产品的php命令?所以它变成了instock?产品设置为可变,并且没有为常规选项卡上的库存或库存状态管理任何复选框,只需在“差异”选项卡中。
非常感谢! 最好的问候!