所以我一直试图使这项工作没有结果。
我正在制作一家餐馆网站,我希望可以选择外带或外卖。想法是在购物车下方有两个按钮,如果您按下“取走”按钮,则会显示一个仅包含姓名,电话和电子邮件字段且没有送货费用的表格,并且如果您按下“送货”按钮好吧,这是包含所有字段和交付成本的标准表格。
有可能吗?
如果页面上的标签是“外卖的”,我尝试取消设置字段*,但是Woocommerce仍然说它们是必需的。但这确实不能解决整个问题。
*或者也许我做错了什么?这是代码:
function filter_form($pageSlug) {
if($pageSlug == 'take-away') {
add_filter( 'woocommerce_checkout_fields' , 'custom_checkout_fields' );
function custom_checkout_fields( $fields ) {
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_company']);
return $fields;
}
}
}
编辑:因此,澄清一些事情。我在常规结帐表单上有一个典型的按钮,另一个按钮将您带到添加了结帐简码的页面。在该页面中,使用我添加的代码,我取消设置了不必要的字段。问题是Woocommerce仍然在要求他们,显然自版本3以来就是这样,我还没有找到一种可以真正消除对它们的需求的方法。另外,应在该页面/表格上预先选择“本地取件”而不是交货。我只是不确定a)是否可以永久删除不必要的字段,b)默认情况下,每种表格我可以有不同的传递系统。
答案 0 :(得分:0)
为什么不使用1个结帐表格并隐藏不需要的文件?
这些字段可以具有默认值,但在外卖时它们对用户隐藏。
它减少了第二次结帐过程的需要,并使事情变得简单