我设置global variables 对于“我的函数”中的某些自定义用户数据。php在页眉和页脚内的导航中使用它们。
if (is_user_logged_in()) {
# users wordpress id
global $user_id_wp;
$user_id_wp = get_current_user_id();
# users meta page id
global $user_id_meta;
$user_id_meta = userMeta(get_current_user_id());
# users uuid
global $user_id_uuid;
$user_id_uuid = get_field("user-uuid", $user_id_meta);
}
这些变量不能在内部使用
header.php
和
footer.php
我需要它们的地方。无法使用方式
var_dump($user_id_meta)
结果在
NULL
, 虽然
userMeta($user_id_wp)
显示页眉或页脚内的正确值。
我已尝试将上面的行设置为函数add_action( \'init\', \'globalUserVar\' );
但也没有积极的结果。请帮助我在页眉和页脚中使用全局用户变量。非常感谢!
最合适的回答,由SO网友:Buttered_Toast 整理而成
在里面functions.php
可以使用用户id创建一个常量,如下所示。
// if somehow this constant exists this will prevent a php error
if (!defined(\'CURRENT_USER_ID\')) {
// if user is not logged it this constant will contain 0
define(\'CURRENT_USER_ID\', get_current_user_id());
}
现在,在主题中的任何位置都有一个常量变量可用。
要访问它,您可以简单地调用它,例如
echo CURRENT_USER_ID;