WordPress博客的作者名称默认是显示发布这篇文章时的登录用户的显示名称,但是很多时候我们作为站长,会发布更新一些已获得转载授权的文章,这个时候文章作者一栏就要显示对应的愿作者,而不是自己的账号名称。
如果说转载一篇文章就去创建一个文章作者的User用户,然后登录这个账号去发布文章的话,转载来源方较多的话,就比较麻烦,也需要自己准备多个注册账号的邮箱。那么能否在文章编辑页面自定义作者名称,自己输入要显示的作者名称呢?
跨境E站这次也遇到了这个棘手的问题,在Google知识库搜索了一下,找到了一个简单有效的可行方法。下面祥助以一篇测试文章为实操举例,讲解一下通过自定义区域添加作者名称的方法。
添加functions.php代码
使用FTP连接工具或直接宝塔面板访问到wp-content/themes/你的主题目录/function.php,编辑打开这个文件
添加一段代码:
//文章自定义作者名
add_filter( 'the_author', 'guest_author_name' );
add_filter( 'get_the_author_display_name', 'guest_author_name' );
function guest_author_name( $name ) {
global $post;
$author = get_post_meta( $post->ID, 'guest-author', true );
if ( $author )
$name = $author;
return $name;
}
保存修改,这段代码就是通过添加custom field,让站长可以在文章编辑页面自行输入想要显示的文章作者名称,来解决这个Author的显示问题
添加自定义字段
我们返回Wordpress的wp-admin后台,导航到文章-写文章,发布一篇新文章来体验一下这个自定义作者的功能。
- 首先因为现在默认是古腾堡编辑器,所以点击古腾堡编辑器右上角的三点图标,下拉菜单里点击选项
- 在出现的下拉选单中,将自定义字段勾选,启用custom field的功能
- 文章编辑页拖动到最下方,展开自定义字段栏目,点击如图所示的添加新栏目
- 名称栏输入:guest-author ,值栏输入想显示的作者名。
保存后发布文章,前台访问文章url,就能看到文章作者栏显示的名称就是我们想要显示的名称了,这样就解决了WordPress自定义文章作者名称的需求。
不过这个方式有个小小的瑕疵,点击作者名后跳转的页面,还是发布文章时用户的个人中心,不过没有什么影响,反正也是我们主账号的个人中心。