gpt4 book ai didi

wordpress - 在注销前和管理员登录后设置 cookie

转载 作者:行者123 更新时间:2023-12-02 06:31:52 25 4
gpt4 key购买 nike

嗨,我是 wordpress 的新手。

我对此进行了很多研究,但没有成功。我想在注销前将 cookie 值设置为 NULL,并在管理员登录后设置自定义值。

所以我把下面的代码放在 wp-includes/puggable.php => 函数 wp_set_auth_cookie 中
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
}
}

请注意,正如 diziaq 在他的回答中指出的那样,您使用了错误的 setcookie 函数。

并在注销时删除 cookie:
add_action('wp_logout', 'remove_custom_cookie_admin');
function remove_custom_cookie_admin() {
setcookie('your_cookie_name', '', time() - 3600);
}

与 diziaq 指出的一样,您需要删除 cookie - 您不能将其设置为 NULL

关于wordpress - 在注销前和管理员登录后设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33256109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com