Woocommerce 如何仅在用户未登录时设置 default_checkout_billing_country
Woocommerce how to set default_checkout_billing_country only if user is not logged in
我有这个功能,如果用户是客人,我只想设置账单国家,否则我们不应该更改账单国家,而是将账单国家作为用户在 WooCommerce 的个人资料中的内容。
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );
function bbloomer_change_default_checkout_country() {
return 'US';
}
您可以使用 is_user_logged_in
:
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );
function bbloomer_change_default_checkout_country($default) {
if(is_user_logged_in()){
return $default;
}else{
return 'US';
};
};
但是,有时,由于缓存问题,is_user_logged_in
不起作用。在这种情况下,您可以使用 global $current_user
.
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );
function bbloomer_change_default_checkout_country($default) {
global $current_user;
if($current_user->ID){
return $default;
}else{
return 'US';
};
};
如果你能让它工作,请告诉我!
我有这个功能,如果用户是客人,我只想设置账单国家,否则我们不应该更改账单国家,而是将账单国家作为用户在 WooCommerce 的个人资料中的内容。
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );
function bbloomer_change_default_checkout_country() {
return 'US';
}
您可以使用 is_user_logged_in
:
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );
function bbloomer_change_default_checkout_country($default) {
if(is_user_logged_in()){
return $default;
}else{
return 'US';
};
};
但是,有时,由于缓存问题,is_user_logged_in
不起作用。在这种情况下,您可以使用 global $current_user
.
add_filter( 'default_checkout_billing_country', 'bbloomer_change_default_checkout_country' );
function bbloomer_change_default_checkout_country($default) {
global $current_user;
if($current_user->ID){
return $default;
}else{
return 'US';
};
};
如果你能让它工作,请告诉我!