Jay*_*dya 2 cookies wordpress session admin
嗨,我是wordpress的新手.
我对此研究很多,但没有成功.我希望在注销之前将cookie值设置为NULL,并在管理员登录后设置自定义值.
所以我把下面的代码放在函数wp_set_auth_cookie中的wp-includes/puggable.php =>中
setcookie("cookieName", '', time() + (1 * 60) , true);
echo "<script>console.log('Cookie must set null')</script>";
但是,即使登录注销后,cookie值也没有成功.
永远不要编辑Wordpress核心文件!如果你有一天更新Wordpress(并且你想要,为了解决安全问题),你的所有修改都将丢失.
您需要做的是使用wp_login和wp_logout操作.您附加了这两个动作函数add_action,因此它们将在这些事件上触发.这些函数和add_action调用发生在主题的functions.php文件中.
因此在functions.php中,添加此项以在登录时设置cookie(仅限管理员):
add_action('wp_login', 'add_custom_cookie_admin');
function add_custom_cookie_admin() {
if(is_admin()) {
setcookie('your_cookie_name', 'cookie value', time() + 86400, '/'); // expire in a day
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,正如diziaq在他的回答中指出的那样,你使用了错误的setcookie功能.
并在注销时删除cookie:
add_action('wp_logout', 'remove_custom_cookie_admin');
function remove_custom_cookie_admin() {
setcookie('your_cookie_name', '', time() - 3600);
}
Run Code Online (Sandbox Code Playgroud)
与diziaq指出的相同,您需要删除cookie - 您无法将其设置为NULL.
| 归档时间: |
|
| 查看次数: |
3056 次 |
| 最近记录: |