Woocommerce - 更新产品变体的最大数量
Woocomerce - Update max quantity for product variation
我正在尝试将可变产品的所有变体的最大数量更新为 345。
$available_variations = $product->get_available_variations();
foreach ($available_variations as $variation)
{
$variation_ID = $variation->ID;
update_post_meta( $variation_ID , 'max_qty', 345 );
}
这不会发生。
为什么不默认设置为 345?
$max_m = $max_l = $max_xl = $max_xxl = $max_xxxl = '345';
if($max_qty != 345){
//Limit Reached error
}
或
$product->get_available_variations = '345';
if($variation_ID != 345){
$variation_ID->max_qty = 345;
}
既然是网上商店,为什么不使用 MySQLi?它是 PHP 供电的,为什么不呢?
这样你就可以执行 MySQLi-> 查询,并更新值。
已编辑
您没有使用正确的方法来获取变体 ID,并且产品元键 max_qty
在 wp_postmeta
table 上的 WooCommerce 数据库中不存在 product_variation
post类型。
相反,您可以使用以下过滤器挂钩为产品变体设置特定的最大数量:
add_filter( 'woocommerce_available_variation', 'wc_available_variation_max_qty', 10, 3 );
function wc_available_variation_max_qty( $data, $product, $variation ) {
$data['max_qty'] = 345;
return $data;
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。测试和工作。
我正在尝试将可变产品的所有变体的最大数量更新为 345。
$available_variations = $product->get_available_variations();
foreach ($available_variations as $variation)
{
$variation_ID = $variation->ID;
update_post_meta( $variation_ID , 'max_qty', 345 );
}
这不会发生。
为什么不默认设置为 345?
$max_m = $max_l = $max_xl = $max_xxl = $max_xxxl = '345';
if($max_qty != 345){
//Limit Reached error
}
或
$product->get_available_variations = '345';
if($variation_ID != 345){
$variation_ID->max_qty = 345;
}
既然是网上商店,为什么不使用 MySQLi?它是 PHP 供电的,为什么不呢? 这样你就可以执行 MySQLi-> 查询,并更新值。
已编辑
您没有使用正确的方法来获取变体 ID,并且产品元键 max_qty
在 wp_postmeta
table 上的 WooCommerce 数据库中不存在 product_variation
post类型。
相反,您可以使用以下过滤器挂钩为产品变体设置特定的最大数量:
add_filter( 'woocommerce_available_variation', 'wc_available_variation_max_qty', 10, 3 );
function wc_available_variation_max_qty( $data, $product, $variation ) {
$data['max_qty'] = 345;
return $data;
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。测试和工作。