目标:尽管未选择变体,但仍将产品添加到购物车,即删除/禁用变体字段的强制性质。
问题: WooCommerce 绝对要求在添加到购物车之前选择所有变体。
试过:在使用各种钩子(Hook)添加到购物车之前过滤掉/删除/禁用未选择的变体; woocommerce_before_calculate_totals
, woocommerce_add_to_cart
, woocommerce_add_cart_item
, woocommerce_add_to_cart_validation
我知道这就是 WooCommerce 的工作方式以及它以这种方式工作的原因——尽管如此,我仍然需要解决方法。
如何绕过 WooCommerce 的“选择所有变体”要求,以便即使未选择所有变体,我仍可以将产品添加到购物车?
最佳答案
你可以试试
add_filter('woocommerce_dropdown_variation_attribute_options_args', 'setSelectDefaultVariableOption', 10, 1);
function setSelectDefaultVariableOption($args)
{
$default = $args['product']->get_default_attributes();
if (count($args['options']) > 0 && empty($default)) {
$args['selected'] = $args['options'][0];
}
return $args;
}
关于php - WooCommerce - 添加到购物车时忽略未选择的变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67001571/