继续分享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;

});

上面的代码会检查用户财物车中的产品,如果只有虚拟产品就会删除收货字段,结账时不用填写,直接付款就行;如果购物车中有实用产品,那就需要填写。

推荐阅读

WordPress建站教程:给导航栏添加毛玻璃效果

WordPress外贸建站很Low吗?

YE007 elementor外贸成品网站模板 完整的wordpre外贸网站 一键导入

如果觉得我分享的内容对您有所帮助

😘请帮忙分享点赞在看谢谢啦😘

1.使用本站下载的源码仅限于个人学习和非商业用途。
2.禁止将本站下载的源码用于搭建或支持任何违法、淫秽、暴力或侵犯他人合法权益的网站或应用。
3.使用本站下载的源码需遵守国家法律法规及相关规定,不得从事任何违法活动。
4.如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。