WordPress中用于获取及自定义头像图片的PHP脚本详解

get_avatar()(获取头像)
get_avatar() 函数用来获取置顶邮箱或许用户的头像代码,在评论列表中十分罕用。

这个函数提供一个 get_avatar 过滤器,用来过滤头像的 Html 代码(img 标签)。

假如在后盾 “设置” 的 “探讨” 里封闭 “显示头像选项” 则前往 False.

用法

get_avatar( $id_or_email, $size, $default, $alt );

参数

$id_or_email

(整数 | 字符串 | 对象)(必需)用户的 ID;邮箱;评论或许用户的对象。假如在循环中能够应用 get_the_author_meta( 'ID' ) 函数调用以后文章的作者。

默许值:None

$size

(整数)(可选)头像的尺寸,**为 512,单位为像素(px)。

默许值:96
get_avatar()(获取头像)
$default

(字符串)(可选)假如没有头像前往的图片,默许为 “神秘人”,能够是图片 URL.

默许值:空字符串(神秘人)

$alt

(字符串)(可选)头像 img 标签的 alt 属性内容。

默许值:False

前往值

(字符串 | 布尔)前往一个头像的 img 标签,假如在后盾 “设置” 的 “探讨” 里封闭 “显示头像选项” 则前往 False.

例子

评论列表:

<?php echo get_avatar( $GLOBALS['comment'] ); ?>

循环,获取以后文章作者头像:

<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>

自定义邮箱:

<?php echo get_avatar( '[email protected]', 32, '', '自定义邮箱' ); ?>


自定义头像图片的 alt 标签
WordPress 默许应用的是 Gravatar 头像,经过 get_avatar() 函数调用,普通用来在调用评论的时分应用。

利用 get_avatar() 函数的第四个属性 $alt 能够设置前往代码的 alt 标签,然而大少数人在应用的时分都不会去设置,也就变成了空白。

搜寻引擎的爬虫是无奈读取图片上到底是什么内容的,只能靠它的 alt 标签,没有了 alt 标签的图片,对 SEO 是十分不好的。

假如想要给一切的头像都对立加上一个 alt 标签,能够把下边的代码放到主题的 functions.php(理解更多) 文件。

/**
  *WordPress 自定义头像图片的 alt 标签
  *依据不同的人生成不同的 alt 标签
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar ){
  $alt = 'Gravatar 头像';//alt 标签的内容
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt' );

这样就行了,留意修正代码里的 $alt 变量为你要修正成的 alt 标签内容。

依据不同的人生成不同的 alt 标签

假如要依据不同的人搁置不同的 alt 标签能够用下边的例子代码:

/**
  *WordPress 自定义头像图片的 alt 标签
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar, $id_or_email ){
  if( $id_or_email == '[email protected]' || $id_or_email === 1 ){
    $alt = '博主 Gravatar 头像';//博主的 alt 标签内容
  }else{
    $alt = 'Gravatar 头像';//一般访客的 alt 标签内容
  }
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt', 10, 2 );

假如曾经设置 alt 标签则不交换

假如你需求在曾经设置 alt 标签的内容(get_avatar() 函数的 $alt 属性)则不交换的时分能够用下边的代码:

/**
  *WordPress 自定义头像图片的 alt 标签
  *假如曾经设置 alt 标签则不交换
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar, $id_or_email, $size, $default, $alt ){
  if( !empty( $alt ) ) return $avatar;
  $alt = 'Gravatar 头像';//alt 标签的内容
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt', 10, 5 );


以上就是安达网络工作室关于《WordPress中用于获取及自定义头像图片的PHP脚本详解》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: WordPress 头像 PHP PHP编程
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
wordpress上传图片不主动生成缩略图的处理办法

由于站点不需求显示这么多图片,只要要原图就OK了,所以就要修正下媒体设置。关上设置->媒体,将不需求的缩...

wordpress模板页面判别函数(本人整顿)

本人平常用到的一些函数,整顿一下,大家有用到来拿吧,我怕放电脑上不见了,当前又得找。 Index page 首页...

wordpress装置出错的处理办法

明天在装置wordpress3.0.1的时分,写入数据库阶段时呈现了一大片谬误提醒信息: 复制代码代码如下:WordPres...

WordPress中函数get_term_link的参数设置成绩

为何要用 get_term_link?: 新类型的分类是无奈用 <?php echo get_category_link( $category_id ); ?> 输入...

WordPress改换主域名后需求的操作分享

博客改换主域名是很失常的事件,但改换完主域名之后,有一些事件是必需实现,否则会影响到你的WordPress博客...

WordPress中的shortcode短代码性能应用详解

WordPress 从 2.5 的版本开端,添加了一个 shortcode (短代码) API ,相似于 BBS 上的 BBCode , shortcode ...

需求提交

客服服务