我正在尝试设置,当访问特定页面/url时,将设置并保存cookie。
到目前为止,我已经尝试过:
add_action(\'init\', \'set_cookie\', 1);
function set_cookie(){
if ( $currentURL == \'https://25dni.si/delovanje-uma/\' ) :
if ( ! isset( $_COOKIE[\'opt_in\'] ) ) :
setcookie( \'opt_in\', has_opt_in, time()+31556926);
endif;
endif;
}
现在,当我访问特定URL时,会检测到cookie,但当我转到另一个页面时,cookie就会消失。
如何保存cookie?
我对这个很陌生,请帮我理解。
非常感谢。
SO网友:Alex
我用过这个,它很有效:
add_action(\'init\', \'optin_cookie\', 1);
function optin_cookie(){
$currentURL = "https://" . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'];
if ( $currentURL == \'https://25dni.si/delovanje-uma/\' ) :
setcookie( \'opt_in\', has_opt_in, time()+31556926, \'/\');
elseif ( $currentURL != \'https://25dni.si/\' ) :
if ( ! isset( $_COOKIE[\'opt_in\'] ) ) :
endif;
endif;
}
我相信有一种更优雅的方法可以做到这一点,但这对我来说很有用。。。
SO网友:jdp
我很惊讶它居然能起作用$currentURL
未在函数中定义,也未声明为全局。
看看documentation 对于setcookie()
. 您没有声明cookie的路径,请尝试以下操作:
setcookie(\'opt_in\',\'opt_in\', time()+31556926, \'/\');
这将为整个域设置cookie,如果您想这样做的话。