目前,我有一个代码块,用于检查用户是否已登录。如果用户已登录,则显示“欢迎 _ ”。在空白处,有一个反映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>';
这些块的最佳位置在哪里,所以我对数据库的调用次数最少,但仍保持安全?
答案 0 :(得分:0)
一旦你进入is_user_logged_in()
区块,你应该设置你的用户变量(或者只是简单地调用它们)......不应该有任何额外的压力,你提供的方式是最好的方式从Wordpress中提取用户详细信息。这些属性直接从users表中的表列设置,并由Wordpress自动加载。