如何在WordPress中使用get_current_user_id()?

如何在WordPress中使用get_current_user_id()?,wordpress,Wordpress,我正在试图弄清楚如何正确使用函数get\u current\u user\u id() 我需要它来进行用户数据分离,就像普通PHP代码使用$\u SESSION一样 我在Function.php中找到了下面的代码示例,它工作得很好,但似乎在每个页面上都执行了,这不是我的初衷 function hf_Function(){ $user_ID = get_current_user_id(); _SESSION["uid"] = user_ID; } add_action('in

我正在试图弄清楚如何正确使用函数
get\u current\u user\u id()

我需要它来进行用户数据分离,就像普通PHP代码使用
$\u SESSION
一样

我在
Function.php
中找到了下面的代码示例,它工作得很好,但似乎在每个页面上都执行了,这不是我的初衷

function hf_Function(){

    $user_ID = get_current_user_id(); 

    _SESSION["uid"] = user_ID;
}
add_action('init', 'hf_Function');
我只需要它执行一次,并将信息保存在一个
$\u会话
变量或一个全局变量中,我可以从自己的PHP页面访问该变量

我试着把上面的几行放在我自己的PHP脚本中,但似乎不起作用

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


使用
get\u current\u user\u id()
和其他内置函数的最佳实践是什么?

根据示例代码,将用户id存储在
$\u会话中对您没有好处

您可以在整个站点中使用
get\u current\u user\u 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
操作,所以此函数将在每次页面加载时运行。您可能需要根据您想要实现的目标来更改。这可能有助于帮助您了解WordPress的生命周期。

根据示例代码,将用户id存储在
$\u会话中对您没有任何好处

您可以在整个站点中使用
get\u current\u user\u 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
操作,所以此函数将在每次页面加载时运行。您可能需要根据您想要实现的目标来更改。这可能有助于帮助您了解WordPress的生命周期。

好的,谢谢:o)1)和2)是类型错误。3) 实际上,我确实试着阅读了add_action(init)的描述,但我仍然不确定如何正确地执行它。但我的最终目标是在选择数据时使用SQL的用户ID,这样用户数据就不会混淆。在我之前所做的PHP(不是WP)中,我使用$\u会话变量进行用户分离。好的,谢谢:o)1)和2)是类型错误。3) 实际上,我确实试着阅读了add_action(init)的描述,但我仍然不确定如何正确地执行它。但我的最终目标是在选择数据时使用SQL的用户ID,这样用户数据就不会混淆。在我之前所做的PHP(不是WP)中,我使用了$\u会话变量来进行用户分离。我需要阅读WP中的一些中止钩子以及它们是如何工作的。然而,我脑海中出现的另一个问题是代码的位置。当我将代码放在自己的PHP文件中时,它似乎不起作用,但当我将代码放在Functions.PHP文件中时,它就可以正常工作了。我是不是错过了什么。。。。。。我需要在某个地方注册我自己的PHP文件吗?@Fleminglemche WordPress将在首次加载时自动包含你的
functions.PHP
文件。如果创建单独的文件,即
my functions.php
,则WordPress不知道该文件。您需要将该文件包括在
functions.php
文件中:
include('my-functions.php')以便WordPress识别和处理其中包含的任何代码。你就是那个人。非常感谢你的帮助。一件事是了解PHP,另一件事是学习在WP框架中操作。正如我早些时候所说的,我刚刚打开了潘多拉魔盒,现在处于noop水平。我需要阅读更多WP中的中止钩子以及它们是如何工作的。然而,我脑海中出现的另一个问题是代码的位置。当我将代码放在自己的PHP文件中时,它似乎不起作用,但当我将代码放在Functions.PHP文件中时,它就可以正常工作了。我是不是错过了什么。。。。。。我需要在某个地方注册我自己的PHP文件吗?@Fleminglemche WordPress将在首次加载时自动包含你的
functions.PHP
文件。如果创建单独的文件,即
my functions.php
,则WordPress不知道该文件。您需要将该文件包括在
functions.php
文件中:
include('my-functions.php')以便WordPress识别和处理其中包含的任何代码。你就是那个人。非常感谢你的帮助。一件事是了解PHP,另一件事是学习在WP框架中操作。正如我早些时候所说的,我刚刚打开了潘多拉魔盒,现在处于noop水平。