如何在页眉和页脚中使用全局变量

时间:2021-08-18 作者:RobinAlexander

我设置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.phpfooter.php 我需要它们的地方。无法使用方式var_dump($user_id_meta) 结果在NULL, 虽然userMeta($user_id_wp) 显示页眉或页脚内的正确值。

我已尝试将上面的行设置为函数add_action( \'init\', \'globalUserVar\' ); 但也没有积极的结果。请帮助我在页眉和页脚中使用全局用户变量。非常感谢!

1 个回复
最合适的回答,由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;