在构建多人博客或内容型网站时,展示作者信息是提升社区感和内容可信度的关键。WordPress 提供了丰富的模板标签(Template Tags)来调用作者数据。本文将系统介绍这些函数,并说明如何将它们用于显示作者姓名、联系方式及生成作者列表。
核心作者信息调用函数
以下函数通常在文章循环(The Loop)内部使用,用于获取当前文章的作者信息。
<?php the_author(); ?> // 显示文章作者的名字(公开显示名)
<?php the_author_description(); ?> // 显示作者个人资料中的“描述”
<?php the_author_firstname(); ?> // 显示作者的名(First Name)
<?php the_author_lastname(); ?> // 显示作者的姓(Last Name)
<?php the_author_nickname(); ?> // 显示作者的昵称
<?php the_author_ID(); ?> // 显示作者的用户ID
<?php the_author_email(); ?> // 显示作者的电子邮箱(注意隐私)
<?php the_author_url(); ?> // 显示作者的个人网站地址
<?php the_author_posts(); ?> // 显示该作者已发表的文章总数
<?php the_author_posts_link(); ?> // 生成一个指向该作者所有文章存档页面的链接
重要说明与更新
- 已弃用的函数:原文中提到的
the_author_login(),the_author_icq(),the_author_aim(),the_author_yim(),the_author_msn()在现代 WordPress 版本中已基本弃用或不再推荐使用。用户的自定义联系信息(如微信、QQ)现在通常通过用户元数据(User Meta)存储。 - 自定义联系信息:要显示如微信、QQ等自定义字段,建议使用
get_the_author_meta()函数。例如,如果你通过插件或代码为用户添加了名为wechat的字段,可以这样调用:<?php echo get_the_author_meta('wechat'); ?>。 - 链接函数:
the_author_link()函数也已过时。现在更标准的做法是组合使用the_author()和the_author_url()来手动创建链接。
生成作者列表
如果你需要在侧边栏或独立页面展示所有作者,可以使用以下函数。
wp_list_authors()
这是当前推荐使用的函数,用于生成网站作者列表。如果作者发表过文章,其名称会链接到他的文章存档页。
<?php
wp_list_authors(array(
'optioncount' => false, // 是否显示文章数,true 或 false
'exclude_admin' => true, // 是否排除管理员,true 或 false
'show_fullname' => false, // 是否显示全名,否则显示昵称
'hide_empty' => true, // 是否隐藏未发表文章的作者
'feed' => '', // RSS 链接的文本,如‘RSS’
'feed_image' => '', // RSS 链接的图片 URL(如果设置,则覆盖 feed 参数)
));
?>
已弃用的 list_authors()
list_authors() 函数功能与 wp_list_authors() 类似,但已不再推荐使用。请统一使用 wp_list_authors()。
实践示例:在主题中调用作者信息
以下是一个在文章单页(single.php)或文章摘要(content.php)中展示作者基本信息区的示例代码:
<div class="author-bio">
<?php echo get_avatar(get_the_author_meta('ID'), 80); ?> // 显示作者头像
<h3>关于 <?php the_author(); ?></h3>
<p><?php the_author_description(); ?></p>
<p>
已发布文章:<?php the_author_posts(); ?>篇 |
<a href="<?php echo esc_url(get_author_posts_url(get_the_author_meta('ID'))); ?>">查看所有文章</a>
</p>
<?php
// 安全地显示自定义微信字段(如果存在)
$wechat = get_the_author_meta('wechat');
if ($wechat) {
echo '<p>微信:' . esc_html($wechat) . '</p>';
}
?>
</div>
通过灵活运用这些函数和参数,你可以轻松构建出符合网站设计风格和功能需求的作者展示模块。