因此,我有下面的代码,可以提取当前登录用户的用户元数据。
<?php
$current_user = wp_get_current_user();
echo \'Username: \' . $current_user->user_login . \'<br />\';
echo \'User email: \' . $current_user->user_email . \'<br />\';
echo \'User first name: \' . $current_user->user_firstname . \'<br />\';
echo \'User last name: \' . $current_user->user_lastname . \'<br />\';
echo \'User display name: \' . $current_user->display_name . \'<br />\';
echo \'User ID: \' . $current_user->ID . \'<br />\';
?>
现在的问题是,我不知道把这个代码放在哪里(我知道,很尴尬)。我不能把它放在页面上,因为这样PHP代码就会显示出来,而不会变成显示任何东西。我想把它放进去
functions.php
, 但是,没有与此相关的短代码。。。
我的第二个问题是如何将其实现到表中?假设USERNAME是一行,它旁边应该显示当前用户的用户名。我知道如何在Wordpress中编写一个表,但我不知道如何在其中实现我的代码。
任何帮助都将不胜感激!
谢谢
最合适的回答,由SO网友:Qaisar Feroz 整理而成
如果我正确理解了您的问题,您希望在前端的页面上显示此数据。在这种情况下,您可以在主题文件夹中创建页面模板,也可以在函数中创建短代码。php。下面是一个可能会有所帮助的快捷代码。
add_shortcode(\'currentuser\', \'shortcode_current_user\');
function shortcode_current_user($atts){
ob_start();
$current_user = wp_get_current_user();
echo \'<table>\';
echo \'<tr><td>Username: </td>\' . \'<td>\'.$current_user->user_login . \'</td></tr>\';
echo \'<tr><td>User email: \' .\'<td>\'. $current_user->user_email . \'</td></tr>\';
echo \'<tr><td>User first name: \' . \'<td>\'.$current_user->user_firstname . \'</td></tr>\';
echo \'<tr><td>User last name: \' .\'<td>\'. $current_user->user_lastname . \'</td></tr>\';
echo \'<tr><td>User display name: \' .\'<td>\'. $current_user->display_name . \'</td></tr>\';
echo \'<tr><td>User ID: \' .\'<td>\'. $current_user->ID . \'</td></tr>\';
echo \'</table>\';
return ob_get_clean();
}
现在,它可以在任何页面/帖子/小部件上使用,通过放置
[currentuser]