我正在试图弄清楚如何正确使用函数get_current_user_id()
。
我需要它来进行用户数据分离,就像普通的PHP代码使用$_SESSION
一样。
我在Function.php
找到了以下代码示例,但它工作正常,但它似乎是在每个页面上执行的,而不是意图。
function hf_Function(){
$user_ID = get_current_user_id();
_SESSION["uid"] = user_ID;
}
add_action('init', 'hf_Function');
我只需要执行一次并将信息保存在$_SESSION
变量或全局变量中,我可以从我自己的PHP页面访问。
我试图将上面的行放在我自己的PHP脚本中,但它似乎不起作用。
这是正确的做法还是我做错了什么?
使用get_current_user_id()
和其他内置函数时,最佳做法是什么?
答案 0 :(得分:0)
根据您的示例代码,将user_id存储在$_SESSION
中没有任何好处。
您可以在整个网站中使用get_current_user_id()
方法。如果他们已登录,它将返回当前用户ID,如果当前用户未登录,则返回0
。
例如,您可以执行以下操作:
function hf_Function(){
$user_ID = get_current_user_id();
if ($user_ID == 0) {
// The user ID is 0, therefore the current user is not logged in
return; // escape this function, without making any changes
}
// Run your SQL queries here (using WordPress DB class)
global $wpdb;
// $wpdb->query($sql);
}
add_action('init', 'hf_Function');
由于您正在使用init
操作,因此此功能将在每次加载页面时运行。您可能需要更改action,具体取决于您尝试实现的目标。此answer on WordPress SE可能有助于您了解WordPress生命周期。