我正在尝试在wordpress本身之外建立一个登录系统。我有一个与我交谈的API。用户登录后,API会返回一个Sessionkey。我想将此SessionKey保存在Cookie中。但这出于某些原因是行不通的。 Cookie为空。
我尝试在setcookie('woww_user_session',“ A STATIC VALUE”,$ expiry,'/',COOKIE_DOMAIN)中设置静态值;在woww_setcookie();中 效果很好。但是当值是动态值时,它就无法工作。
function woww_login(){
$username = "user";
$password = "password";
$REQUEST = "login";
$POSTVARS = "&username=".$username."&password=".$password;
$errmsg_arr = array();
$userdata = woww_api_call($REQUEST, $POSTVARS);
$sessionKey = $userdata["sessionKey"]
//use function to save sessionKey
woww_setcookie($userdata["sessionKey"]);
}
function woww_setcookie($sessionKey){
$path = parse_url(get_option('siteurl'), PHP_URL_PATH);
$host = parse_url(get_option('siteurl'), PHP_URL_HOST);
$expiry = strtotime('+1 month');
//make session woww_user_session empty
setcookie('woww_user_session', null, strtotime('-1 day'), '/', COOKIE_DOMAIN);
//place value on woww_user_session
setcookie('woww_user_session', $sessionKey, $expiry, '/', COOKIE_DOMAIN );
}
add_action('init', 'woww_setcookie');
我希望在Wordpress cookie中设置由Api提供的SessionKey。