我正在尝试弄清楚如何使用该功能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()
以及其他内置功能?
根据您的示例代码,将 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 https://codex.wordpress.org/Plugin_API/Action_Reference,取决于您想要实现的目标。这在 WordPress SE 上回答 https://wordpress.stackexchange.com/a/26622/6003可能有助于帮助您了解 WordPress 生命周期。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)