继续分享wordpress建站教程。一般我们使用woocommerce制作的商城网站都是实物商品,但有时可能也会发布一些虚拟产品,比如教程资料等,用户付款后可以直接获得下载地址,这种情况下用户在支付时其实是不必填写收获信息的,所以我们可以想办法让woocommerce做一个判断,当购物车或账单中只有虚拟产品时移除收货相关的地段,这样可以简化用户的购物流程,提高结账效率。
具体方法就是下面这段代码,把它添加到当前wordpress建站主题的functions.php文件中即可,或者是添加到code snippet等代码片段插件中。
add_filter(woocommerce_checkout_fields, function ($fields)
{
$only_virtual = true;
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
// Check if there are non-virtual products
if ( ! $cart_item[ data ]->is_virtual()) {
$only_virtual = false;
}
}
if ($only_virtual) {
unset($fields[ billing ][ billing_first_name ]);
unset($fields[ billing ][ billing_last_name ]);
unset($fields[ billing ][ billing_email ]);
unset($fields[ billing ][ billing_company ]);
unset($fields[ billing ][ billing_address_1 ]);
unset($fields[ billing ][ billing_address_2 ]);
unset($fields[ billing ][ billing_city ]);
unset($fields[ billing ][ billing_postcode ]);
unset($fields[ billing ][ billing_country ]);
unset($fields[ billing ][ billing_state ]);
unset($fields[ billing ][ billing_phone ]);
add_filter(woocommerce_enable_order_notes_field, __return_false);
}
return $fields;
});上面的代码会检查用户财物车中的产品,如果只有虚拟产品就会删除收货字段,结账时不用填写,直接付款就行;如果购物车中有实用产品,那就需要填写。
推荐阅读
![](/wp-content/uploads/replace/2e6bce4c02b33424e3b708248e578081.png)
![](/wp-content/uploads/replace/1a8c09ba157830176921ff0b46d35b9c.png)
YE007 elementor外贸成品网站模板 完整的wordpre外贸网站 一键导入
![](/wp-content/uploads/replace/6ee7221e24a272a618e117be1ac9bb46.png)
如果觉得我分享的内容对您有所帮助
😘请帮忙分享、点赞、在看谢谢啦😘
2.禁止将本站下载的源码用于搭建或支持任何违法、淫秽、暴力或侵犯他人合法权益的网站或应用。
3.使用本站下载的源码需遵守国家法律法规及相关规定,不得从事任何违法活动。
4.如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。
评论(0)