如何在WordPress中使用get_current_user_id()?

时间:2016-03-01 21:27:51

标签: wordpress

我正在试图弄清楚如何正确使用函数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()和其他内置函数时,最佳做法是什么?

1 个答案:

答案 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生命周期。