Javascript 当用户第二次打开页面wordpress时创建cookie

Javascript 当用户第二次打开页面wordpress时创建cookie,javascript,php,wordpress,cookies,Javascript,Php,Wordpress,Cookies,这是我的密码: function set_newuser_cookie() { if ( !is_admin() && !isset($_COOKIE['domain_newvisitor'])) { setcookie('domain_newvisitor', 1, time()+3600*24*100, '/', 'domain.com', false); } } add_action( 'init', 'set_newuser_cooki

这是我的密码:

function set_newuser_cookie() {
    if ( !is_admin() && !isset($_COOKIE['domain_newvisitor'])) {
        setcookie('domain_newvisitor', 1, time()+3600*24*100, '/', 'domain.com', false);
    } 
} 
add_action( 'init', 'set_newuser_cookie'); 
使用此代码,cookie工作正常,但当我通过此javascript代码检查cookie存在时(需要检查我们是否在javascript代码中的其他地方使用cookie):


它总是在控制台日志中显示“是”,即使我第一次删除cookie并访问网站时也是如此。如何更改php代码以仅在用户第二次打开页面时创建cookie。

您正在将cookie设置为:

function set_newuser_cookie() {
    if ( !is_admin() && !isset($_COOKIE['domain_newvisitor'])) {
        setcookie('domain_newvisitor', 1, time()+3600*24*100, '/', 'domain.com', false);
    } 
} 
add_action( 'init', 'set_newuser_cookie');
说明:如果cookie已设置=>
!isset($\u COOKIE['domain\u newvisitor'])
如果用户不是管理员,则您正在设置COOKIE


检查后,cookie退出:

var isCookie = document.cookie.match(/^(.*;)?domain_newvisitor=[^;]+(.*)?$/);
if(isCookie){
     console.log('yes');
}else{
     console.log('no');
}
然后cookie每次都会退出。当您第一次创建它并检查它是否退出时


您应该检查cookie是否存在,然后将其存储为变量并使用它,而不是创建它:

 function set_newuser_cookie() {
        if ( !is_admin() && !isset($_COOKIE['domain_newvisitor'])) {
            setcookie('domain_newvisitor', 1, time()+3600*24*100, '/', 'domain.com', false);
        }else
        if(!is_admin() && isset($_COOKIE['domain_newvisitor'])){
             $CookieValue = $_COOKIE['domain_newvisitor']
             //echo or return this $CookieValue 
        } 
    }


add_action( 'init', 'set_newuser_cookie');

现在,您可以在js中使用$CookieValue,方法是将它从服务器传递到客户端。

只想知道您是否每次都在运行第一段代码之后的第二段代码?是否应该以其他方式检查cookie是否不存在,然后创建其他cookie?将其保留?Log
isCookie
到控制台,看看每种情况下它是什么/包含什么。你能告诉我“离开它”是什么意思吗?你是说这个@A.JI照你说的做了,对于这个cookie“domain\u newvisitor”,它是一样的。第一次和第二次都存在@CBroe
 function set_newuser_cookie() {
        if ( !is_admin() && !isset($_COOKIE['domain_newvisitor'])) {
            setcookie('domain_newvisitor', 1, time()+3600*24*100, '/', 'domain.com', false);
        }else
        if(!is_admin() && isset($_COOKIE['domain_newvisitor'])){
             $CookieValue = $_COOKIE['domain_newvisitor']
             //echo or return this $CookieValue 
        } 
    }


add_action( 'init', 'set_newuser_cookie');