我在if/else
语句中尝试setcookie
,但根本不起作用。
如果没有if/else
语句,set_user_cookie
函数可以正常工作
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
// Check if set, if its not set add an error.
$exists = email_exists($_POST['my_field_name'] );
$email = ($_POST['my_field_name']) ;
if ( !$exists ){
wc_add_notice( __('ایمیل وارد شده برای معرف اشتباه می باشد' ), 'error' );
}
else{
function set_user_cookie() {
$school = "vvvvvvvvvvvvvvvvvvvvv";
setcookie('default_school', $school, time()+3600);
}
}}
您需要使用wc_setcookie
函数
wc_setcookie('name', 'value', 'expire', 'secure' );
没有必要使用init
钩子,您可以在else
部分设置cookie
if ( !$exists ) {
wc_add_notice( __('ایمیل وارد شده برای معرف اشتباه می باشد' ), 'error' );
} else {
wc_setcookie(.......) ; //set you cookie params
}