如何在 WordPress 中使用 get_current_user_id() ?

Fle*_*che 3 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');
Run Code Online (Sandbox Code Playgroud)

我只需要它执行一次并将信息保存在$_SESSION我可以从我自己的 PHP 页面访问的变量或全局变量中。

我尝试将上面的行放入我自己的 PHP 脚本中,但它似乎不起作用。

这是正确的方法还是我做错了什么?

get_current_user_id()使用和其他内置功能时的最佳实践是什么?

Kir*_*ard 7

根据您的示例代码,将 user_id 存储在$_SESSION.

get_current_user_id()您可以在整个站点中使用该方法。如果当前用户已登录,则返回当前用户 ID;0如果当前用户未登录,则返回当前用户 ID。

例如,您可以执行以下操作:

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');
Run Code Online (Sandbox Code Playgroud)

由于您正在使用该init操作,因此该函数将在每次页面加载时运行。您可能需要更改操作,具体取决于您想要实现的目标。WordPress SE 上的这个答案可能有助于帮助您了解 WordPress 生命周期。