在WordPress中显示网站管理员的名称

n3ipq98p  于 2023-06-29  发布在  WordPress
关注(0)|答案(2)|浏览(175)

我需要显示我的模板的一部分,主要网站管理员的用户名。
我使用了下面的短代码来显示他启动WordPress的网站的主要管理员的电子邮件地址:

<?php bloginfo('admin_email'); ?>

但是我没有找到任何短代码来显示网站主要管理员的用户名。
是否有这样的简码或者我应该通过其他方式获取站点主管理员的用户名?

11dmarpk

11dmarpk1#

如果你想获取管理员在安装过程中设置的电子邮件的用户,你可以通过组合bloginfo('admin_email')get_user_by()函数来实现。
类似于:

$username = 'Unknown'; // Default name in case WP_User could not be found.
$admin_email = get_bloginfo('admin_email');
$admin_user = get_user_by( 'email', $admin_email );
if ($admin_user) {
  $username = $admin_user->get('user_login');
}
echo $username;

请注意,一旦您获得WP_User对象($admin_user),您就可以从wp_users表中检索任何值(请参阅此处)。

svmlkihl

svmlkihl2#

据我所知,没有一个短代码,但编写一个非常简单,也是学习短代码创建的一个很好的练习:

function admin_email_shortcode() { 
 return bloginfo('admin_email');
}

add_shortcode('admin_email', 'admin_email_shortcode');

只需将该代码添加到themesfunctions.php文件中,并在您希望显示电子邮件地址的位置使用短代码[admin_email]
作为奖励,这里有另一个短代码,如果有多个站点管理员,它将生成所有站点管理员的列表:

function admin_emails_shortcode() { 
 $admins = get_users('role=Administrator');
 foreach ($admins as $admin) {
  $adminList .= $admin->user_email.", ";
 }  
  return rtrim($adminList, ', ');
 }

add_shortcode('admin_emails', 'admin_emails_shortcode');

要获取FIRST管理员的电子邮件地址:

function first_administrator_email() { 
 $adminsArray = array();
 $admins = get_users('role=Adviser'); //Administrator
 foreach ($admins as $admin) {
  $adminsArray[$admin->id] = $admin->user_email;
 }  
 
 return $adminsArray[min(array_keys($adminsArray))];
}

add_shortcode('first_admin_email', 'first_administrator_email');

相关问题