0

目前,我有一个代码块来检查用户是否已登录。如果用户已登录,它会显示“Welcome _ ”。在空白处,有一个变量反映了 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>';

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

4

1 回答 1

0

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

于 2013-06-27T21:27:55.513 回答