3种方式改变默认avatar图片

第一种,增加后台的默认avatar选项,然后到后台的Settings-Comment设置里面选中,保存。这个比较适合自己网站有固定的默认头像图片,换任何theme都用这一个图片的情况。代码:

add_filter( 'avatar_defaults', 'fb_addgravatar' );
function fb_addgravatar( $avatar_defaults ) {
  $myavatar = '/avatar.jpg';//avatar地址
  $avatar_defaults[$myavatar] = 'Avatar';//avatar名称
  return $avatar_defaults;
}

第二种,通过get_avatar这个函数,设置第三个参数为默认头像的地址。这个适合需要默认头像配合当前模板来获得最大视觉效果情况,完全忽略后台设置,超级适用于对MU统一的默认头像管理。代码:

<?php 
  echo get_avatar( $id_or_email, $size = '96', $default = '<path_to_url>' ); 
?>

第三种,通过filterget_avatar来设置默认头像的地址。这个适合2.7中使用了默认的wp_list_comments(),或者作为子模板,不能直接调用get_avatar(),或者代码中多次使用了get_avatar(),想做统一修改的。代码:

<?php 
add_filter('get_avatar', 'change_default_avatar', 1000, 4);
function change_default_avatar($avatar, $id_or_email, $size, $default){
  return str_replace(urlencode($default), urlencode("<path_to_url>"), $avatar);
}
?>

2 Responses

  1. Roc says:

    完全看不懂..