WooCommerce如何仅为未登录用户设置default_checkout_billing_country默认值
WooCommerce 访客专属默认账单国家设置代码修改方案
实现逻辑
- 保留原有
default_checkout_billing_country过滤器的挂载 - 回调函数新增接收WooCommerce原生传入的默认国家参数
$default_country,该参数在用户登录时已经是从用户个人资料读取的已保存账单国家 - 调用
is_user_logged_in()判断用户身份:- 已登录用户直接返回原生默认值,不做修改
- 访客用户返回指定的默认国家值
修改后的完整代码
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country', 10, 1 ); function bbloomer_change_default_checkout_country( $default_country ) { // 已登录用户直接返回个人资料保存的账单国家 if ( is_user_logged_in() ) { return $default_country; } // 访客用户返回指定默认国家,此处可修改为你需要的国家代码 return 'US'; }
使用说明
- 代码可直接添加到当前WordPress主题的
functions.php文件,或自定义代码片段管理插件中即可生效 - 如需调整访客默认国家,将代码中的
US替换为对应国家的两位ISO代码即可,例如中国大陆为CN、英国为GB
内容的提问来源于stack exchange,提问作者Isak La Fleur
相关产品推荐
相关产品推荐

