为get_currentuserinfo()放置变量存储的内存消耗最少的地方在哪里

时间:2013-06-27 21:22:39

标签: php wordpress wordpress-plugin wordpress-theming

目前,我有一个代码块,用于检查用户是否已登录。如果用户已登录,则显示“欢迎 _ ”。在空白处,有一个反映if语句的变量,该语句检查登录用户是否在其帐户中存储了名字,然后保存。如果用户没有,则保存用户名。

我在header.php文件中有以下内容,但我想知道是否不必在每个页面中连续运行此脚本。

global $current_user;
get_currentuserinfo();
$atriangleUsername = $current_user->user_login;
$atriangleFirst =  $current_user->user_firstname;
$atriangleOutputName = ($atriangleFirst) ? $atriangleFirst : $atriangleUsername;
$urlLogin = site_url('/login/', 'http');
echo '<div id="topSpecialNav" class="text-right row right special-top-right-nav">'; 
echo '<div class="d-inline" style="font-size: 11px;">'; 
if ( is_user_logged_in() ) {
        echo 'Welcome, '. $atriangleOutputName .'!';
        } else {
            echo '<a href="'. $urlLogin .'">Login</a>';
        }?>
echo '</div>';

这些块的最佳位置在哪里,所以我对数据库的调用次数最少,但仍保持安全?

1 个答案:

答案 0 :(得分:0)

一旦你进入is_user_logged_in()区块,你应该设置你的用户变量(或者只是简单地调用它们)......不应该有任何额外的压力,你提供的方式是最好的方式从Wordpress中提取用户详细信息。这些属性直接从users表中的表列设置,并由Wordpress自动加载。