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

   2015-12-19 0
核心提示:这篇文章主要介绍了WordPress中用于获取及自定义头像图片的PHP脚本编写方法,分别为get_avatar()和alt标签的使用,需要的朋友可以参考下

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@example.com', 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 == 'bingoblog@163.com' || $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
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 一个可以放wordpress博客的PHP国外免费空间速度
    www.000webhost.com/www.000webhost.com/ 提供了250M的免费空间 每月100G的流量,并且MYsql数据库支持5用户。虽然不不能让你永久免费使用下去,但至少到2012年都是免费的。详情网站上有说明。我的测试博客地址:http://codyan.000webhost.com
    02-09
  • 定制WooCommerce的账户详情(用户资料)页,增加自定义字段,修改默认字段
    定制WooCommerce的账户详情(用户资料)页,增加
    WooCommerce是一款非常流行的WordPress电商插件。然而也听到很多人反映,它并太符合中国用户的使用习惯。国内用户的电商网站使用习惯大多是被淘宝培养出来的,因此如果要基于WordPress + WooCommerce搭建一个面向国人的小型电商网站,为提高用户体验,还是要
    01-06 PHPWordPress
  • WordPress.com 已切换到 PHP7,性能显著提升
    WordPress.com 已切换到 PHP7,性能显著提升
    据了解,目前 WordPress.com 已经全部切换到 PHP 7,性能显著提升。 如下所示,CPU、latency(延迟)有了大幅度的提升与改进。WordPress是一种使用 PHP 语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网志。也可以把 WordPress 当
  • 负载均衡一个PHP应用
    负载均衡一个PHP应用
    1、mariadb、nfs服务器的设置 (centos 7)[root@localhost ~]# rpm -q rpcbindrpcbind-0.2.0-32.el7.x86_64[root@localhost ~]# rpm -q nfs-utils (默认nfs已经安装的)nfs-utils-1.3.0-0.21.el7.x86_64[root@localhost ~]# yum -y install mariadb-server [r
    10-31 PHPWordPress
  • 增加文章列表缩略图
    增加文章列表缩略图
    前几天脑抽又折腾了一阵子博客的样式,本来想着简简单单修改下就算完事,没成想这一折腾就刹不住车了,改了文章列表改边栏,改了边栏改 head 和 footer,折腾的一六八开,等我陆陆续续都改完后再整体一看…彻底傻眼,这是什么鬼,果真没那金刚钻就别揽这瓷器
    10-01 WordPressCSS
  • WordPress升级PHP7后白屏
    把bmclapi安顿到其他服务器上后,这台服务器终于有内存跑第二个fpm了,所以决定安装一下php7,让dz跑在5.5的fpm上,单独给wp上7安装完成后发现首页白屏,但是error_log里没有输出,即使打开WP_DEBUG,也只有几个Notice和Deprecated,按理来说不应该会导致白屏
  • WordPress分页伪静态加html后缀
    本文给大家分享的是在使用WordPress的过程中,发现其内容页分页的形式非常的不友好,于是就动手进行修改的过程以及详细代码,非常的实用,推荐给大家。
  • CentOS下搭建PHP环境与WordPress博客程序的全流
    这篇文章主要介绍了CentOS下搭建PHP环境与WordPress博客程序的全流程总结,这里我们以Apache服务器程序和MySQL数据库程序为例进行讲解,需要的朋友可以参考下
  • 是 WordPress 让 PHP 更流行了 而不是框架
    最流行的是 WordPress,比其他应用都流行很多,垫底的是 Zend Framework
  • WordPress主题制作中自定义头部的相关PHP函数解
    这篇文章主要介绍了WordPress主题制作中自定义头部的相关PHP函数解析,包括header_image()函数和get_custom_header()函数的用法讲解,需要的朋友可以参考下
点击排行