我目前需要出售一个服务,并将子服务作为选项:
我有一个产品面板&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);
}
好的方面是你可以用这种方法对税收和价格进行简单的控制。