我想为用户显示一次登录而不是默认单词我的帐户我想显示用户的名字,我尝试了这个代码,但它没有显示任何内容!
它似乎无法识别位于以下位置的文件中的变量$current_user
:wp-content / themes / themeName / framework / functions / woo-account.php
printf( __( '%s', 'wpdance' ),$current_user->user_lastname);
它是:
printf( __( 'My Account', 'wpdance' ));
我还尝试使用此代码获取所有内容:
<?php global $current_user;
get_currentuserinfo();
echo 'Username: ' . $current_user->user_login . "\n";
echo 'User email: ' . $current_user->user_email . "\n";
echo 'User level: ' . $current_user->user_level . "\n";
echo 'User first name: ' . $current_user->user_firstname . "\n";
echo 'User last name: ' . $current_user->user_lastname . "\n";
echo 'User display name: ' . $current_user->display_name . "\n";
echo 'User ID: ' . $current_user->ID . "\n";
&GT;
但是User first name:
和User last name:
是空的!
有人有任何建议或想法吗?
先谢谢你了!
答案 0 :(得分:1)
尝试拨打
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX, message: "Must be your
<domain name> email address." },
uniqueness: { case_sensitive: false },
unless: ->(user) { user.admin? }
之前
global $current_user;
get_currentuserinfo();
请参阅https://codex.wordpress.org/Function_Reference/get_currentuserinfo#Examples
你确定姓氏总是设定的吗?如果printf( __( '%s', 'wpdance' ),$current_user->user_lastname);
至少返回一个值,您可以确保$current_user
有效。
在$current_user->ID
中启用调试可能也有助于显示所有通知和错误:
wp_config.php
答案 1 :(得分:1)
最好的方法是使用wp_get_current_user()
(不需要任何全局变量)和条件以确保用户已登录:
if ( is_user_logged_in() ) {
$user_info = wp_get_current_user();
$user_last_name = $user_info->user_lastname;
printf( __( '%s', 'wpdance' ), $user_last_name );
}
或者使用完整的名称:
if ( is_user_logged_in() ) {
$user_info = wp_get_current_user();
$user_complete_name = $user_info->user_firstname . ' ' . $user_info->user_lastname;
printf( __( '%s', 'wpdance' ), $user_complete_name );
}
参考文献: