为Gravatar头像添加ALT属性

知更鸟
知更鸟
知更鸟
1633
文章
6930
评论
2016年12月10日13:26:55283.1K14

为Gravatar头像添加ALT属性

图片ALT属性不仅有利于搜索引擎索引图片,而且当图片无法加载的时候,会显示图片的ALT信息。WordPress文章插入图片时可以在“替代文本”中填写ALT信息,但评论中的大量Gravatar头像一般主题都没有ALT属性,其实WP以为我们预设了Gravatar头像ALT属性参数。

查看WP官网 Codex  get avatar  默认的可选参数:

  1. <?php echo get_avatar( $id_or_email$size$default$alt$args ); ?>

其中:$alt 就是 alt可选参数

打开主题评论模板,找到类似这句:

  1. <?php echo get_avatar( $comment, 64 ); ?>

替换为:

  1. <?php echo get_avatar( $comment, 64, '', get_comment_author() ); ?>

将评论者名称作为ALT属性。

如果你的主题调用评论模模块使用的函数是:

  1. wp_list_comments();

暂时在官网上还没找到用该函数添加ALT属性的参数(貌似WordPress默认主题ALT也是空的),只能按下面的代码拆分这个函数,然后修改。

展开代码展开隐藏

  1. function mytheme_comment($comment$args$depth) {
  2.     if ( 'div' === $args['style'] ) {
  3.         $tag       = 'div';
  4.         $add_below = 'comment';
  5.     } else {
  6.         $tag       = 'li';
  7.         $add_below = 'div-comment';
  8.     }
  9.     ?>
  10.     <<?php echo $tag ?> <?php comment_class( emptyempty$args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
  11.     <?php if ( 'div' != $args['style'] ) : ?>
  12.         <div id="div-comment-<?php comment_ID() ?>" class="comment-body">
  13.     <?php endif; ?>
  14.     <div class="comment-author vcard">
  15.         <?php if ( $args['avatar_size'] != 0 ) echo get_avatar( $comment$args['avatar_size'] ); ?>
  16.         <?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
  17.     </div>
  18.     <?php if ( $comment->comment_approved == '0' ) : ?>
  19.          <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em>
  20.           <br />
  21.     <?php endif; ?>
  22.     <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>">
  23.         <?php
  24.         /* translators: 1: date, 2: time */
  25.         printf( __('%1$s at %2$s'), get_comment_date(),  get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), '  ', '' );
  26.         ?>
  27.     </div>
  28.     <?php comment_text(); ?>
  29.     <div class="reply">
  30.         <?php comment_reply_link( array_merge$argsarray( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
  31.     </div>
  32.     <?php if ( 'div' != $args['style'] ) : ?>
  33.     </div>
  34.     <?php endif; ?>
  35.     <?php
  36.     }

如果你的主题添加修改了默认的头像调用方式,比如使用CN或者SSl方式调用,该方法将无效。

参考:

https://codex.wordpress.org/Function_Reference/wp_list_comments

https://codex.wordpress.org/Function_Reference/get_avatar

https://codex.wordpress.org/Plugin_API/Filter_Reference/get_avatar

历史上的今天
12月
10
weinxin
版权声明
本站原创文章转载请注明文章出处
WordPress 删除xmlrpc.php防DDOS攻击 WordPress

WordPress 删除xmlrpc.php防DDOS攻击

可能很多WordPress用户都不知道这个xmlrpc.php是什么,简单地说就是Wordpress 为手机等客户端提供的接口文件,早期的Wordpress 这个接口就是个万恶之源,虽然经过多次的升级...
WordPress 5.6.1 维护更新 WordPress

WordPress 5.6.1 维护更新

WordPress 5.6.1 维护更新,修复20个错误及7个区块编辑器问题,无安全更新,中文版同期发布。 看了一下更新日志,只有少数几个程序的错误,基本都是修正默认主题的错误。 该版本是一个短周期维...
登录用户显示不同的 WordPress 菜单 WordPress

登录用户显示不同的 WordPress 菜单

如果让登录用户与未登录浏览者,显示不同的菜单,可以通过下面的代码实现: 登录用户显示不同的 WordPress 菜单 将下面代码添加到当前主题函数模板functions.php中: if( is_us...