在Wooccommerce审查订单(结账)和购物车总额(购物车)页面中,为具有自定义数据的产品添加单独的购物车行



我目前需要出售一个服务,并将子服务作为选项:

我有一个产品面板&2元为我的选择和它的价格。

如果用户选中产品页面中的复选框,则该选项将添加到购物车页面、结账页面、感谢页面、电子邮件等…

我的问题是,我实际上可以更新产品行中的初始产品价格,在cart&结账台,但我需要:

1:在c检查审核订单表购物车总表中插入附加服务(选项(作为单独的行

2:在产品行中取消显示初始产品价格,并且仅更新这两个表中添加选项价格的合计

我真的被困在这里了,任何帮助都会很棒。谢谢

OK,解决方案非常简单:

1:在管理选项卡中添加一个产品下拉菜单,让用户选择一个链接的产品作为产品选项,并将其ID注册为产品元;

2:使用woococommerce_add_to_cart_validation从产品页面截取选项复选框值,并将产品选项从初始产品元添加到购物车:

add_action( 'woocommerce_add_to_cart_validation', 'my_cart_validation' );
function my_cart_validation(){
if( isset( $_POST['my-service-option'] ) ){
WC()->cart->add_to_cart( get_post_meta( $_POST['add-to-cart'], 'service-option', true ) );
}
}

3:如果可选服务不应该显示在商店循环中,只需将其从WC查询中删除即可:

add_action( 'woocommerce_product_query', 'remove_optional_services' );
function remove_optional_services( $q ){
$not_in = $q->get('post__not_in' );
array_push( $not_in, 75 ); // you can grab your product ids from an option or whatever fits your needs
$q->set('post__not_in', $not_in);
}

好的方面是你可以用这种方法对税收和价格进行简单的控制。

最新更新