写在前面
今天又被一个头像坑搞惨了,一般我们获取作者的信息是都需要在循环判断中才可以使用的!比如获取作者名称?<?php the_author(); ?>?。如果没有在?<?php if (have_posts()) : the_post(); update_post_caches($posts); ?>?这里面的话,显示是空白的!其他获取头像也是一样的。 所以这时候我想在这个外面获取的话,就得用其他方法了,今天,就讲这两种啦,其实也很简单,直接看代码~
教程开始
注意,以下代码只支持在?single.php?页面使用,如果在?index.php?页面的话,显示的头像为最新的文章作者头像!
正常获取用户头像
注意,这里的if和endif的位置需要自己根据实际情况存放。
//WordPress调用当前文章作者头像
<?php if (have_posts()) : the_post(); update_post_caches($posts); ?>
//do Something else
<?php echo get_avatar( get_the_author_email(), '60' );?>//60代表头像的大小
<?php endif; ?>
免判断直接获取
这个代码可以不用考虑?the_post();?和?rewind_posts();?位置, 直接把这整个代码放到需要获取头像的位置即可
<?php
the_post();
echo get_avatar( get_the_author_email(), '60' );//60代表头像的大小
rewind_posts();
?>
更换avatar的地址
众所周知,avatar头像库是被强了的,正常网络下是没有办法访问的,这时候就要更换一下地址啦。 这里更改成七牛提供的加速服务!
在functions.php页面添加以下代码
//Gravatar缓存头像 blog.guluqiu.cc
function baolog_get_avatar($avatar)
{
$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com","secure.gravatar.com"),
"dn-qiniu-avatar.qbox.me", $avatar);
return $avatar;
}
add_filter('get_avatar', 'baolog_get_avatar', 10, 3);
还有其他镜像源大家也可以更换,只需要更改上面代码的?
dn-qiniu-avatar.qbox.me?即可
[推荐]七牛镜像源?
https://dn-qiniu-avatar.qbox.me/avatar/
[推荐]WP-China-Yes 镜像源?
https://gravatar.wp-china-yes.net/avatar/
[推荐]极客族?
https://sdn.geekzu.org/avatar/
Wordpress开发 - 获取作者头像的两种方法 - 咕噜球 - 记录生活记录学习 (guluqiu.cc)?
|