对于所有登录我的WordPress网站的访问者,我想根据他们的用户ID设置2个cookie,这样我就可以在同一个域的WordPress无关PHP脚本中使用他们的用户ID。
我想在一个cookie中存储用户ID。
在另一个cookie中,我想存储一个用户ID的md5哈希和一个秘密单词,这样我就可以在PHP脚本中验证第一个cookie是否是伪造的。
这是我的代码:
$year = time() + 60 * 60 * 24 * 30 * 12;
$auth = md5(join(\'_\', array($user->ID, \'my_secret\')));
setcookie(\'visitor_id\', $user->ID, $year, \'/\', \'.example.com\');
setcookie(\'visitor_auth\', $auth, $year, \'/\', \'.example.com\');
请告诉我,该代码放在哪里
my plugin?
我已经看过了wp_set_auth_cookie, 但我不明白它怎么能用于我的目的。这似乎是一个设置WordPress内部cookie的函数,但不是我的自定义cookie。
或者我应该把上面的代码init
钩如何在其中找到用户ID?
最合适的回答,由SO网友:Alexander Farber 整理而成
没关系,我已经弄明白了:
function init() {
$user = wp_get_current_user();
if (!$user instanceof WP_User)
return;
$year = time() + 60 * 60 * 24 * 30 * 12;
$auth = md5(join(\'_\', array($user->ID, "my secret")));
setcookie(\'visitor_id\', $user->ID, $year, \'/\');
setcookie(\'visitor_auth\', $auth, $year, \'/\');
}
add_action(\'init\', \'init\');