为Gravatar头像添加ALT属性
图片ALT属性不仅有利于搜索引擎索引图片,而且当图片无法加载的时候,会显示图片的ALT信息。wordpress文章插入图片时可以在“替代文本”中填写ALT信息,但评论中的大量Gravatar头像一般主题都没有ALT属性,其实WP以为我们预设了Gravatar头像ALT属性参数。
查看WP官网 Codex get avatar 默认的可选参数:
- <?php echo get_avatar( $id_or_email, $size, $default, $alt, $args ); ?>
其中:$alt 就是 alt可选参数
打开主题评论模板,找到类似这句:
- <?php echo get_avatar( $comment, 64 ); ?>
替换为:
- <?php echo get_avatar( $comment, 64, ”, get_comment_author() ); ?>
将评论者名称作为ALT属性。
如果你的主题调用评论模模块使用的函数是:
- wp_list_comments();
暂时在官网上还没找到用该函数添加ALT属性的参数(貌似wordpress默认主题ALT也是空的),只能按下面的代码拆分这个函数,然后修改。
展开代码展开
- function mytheme_comment($comment, $args, $depth) {
- if ( ‘div’ === $args[‘style’] ) {
- $tag = ‘div’;
- $add_below = ‘comment’;
- } else {
- $tag = ‘li’;
- $add_below = ‘div-comment’;
- }
- ?>
- <<?php echo $tag ?> <?php comment_class( emptyempty( $args[‘has_children’] ) ? ” : ‘parent’ ) ?> id=“comment-<?php comment_ID() ?>”>
- <?php if ( ‘div’ != $args[‘style’] ) : ?>
- <div id=“div-comment-<?php comment_ID() ?>” class=“comment-body”>
- <?php endif; ?>
- <div class=“comment-author vcard”>
- <?php if ( $args[‘avatar_size’] != 0 ) echo get_avatar( $comment, $args[‘avatar_size’] ); ?>
- <?php printf( __( ‘<cite class=“fn”>%s</cite> <span class=“says”>says:</span>’ ), get_comment_author_link() ); ?>
- </div>
- <?php if ( $comment->comment_approved == ‘0’ ) : ?>
- <em class=“comment-awaiting-moderation”><?php _e( ‘Your comment is awaiting moderation.’ ); ?></em>
- <br />
- <?php endif; ?>
- <div class=“comment-meta commentmetadata”><a href=“<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>”>
- <?php
- /* translators: 1: date, 2: time */
- printf( __(‘%1$s at %2$s‘), get_comment_date(), get_comment_time() ); ?></a><?php edit_comment_link( __( ‘(Edit)’ ), ‘ ‘, ” );
- ?>
- </div>
- <?php comment_text(); ?>
- <div class=“reply”>
- <?php comment_reply_link( array_merge( $args, array( ‘add_below’ => $add_below, ‘depth’ => $depth, ‘max_depth’ => $args[‘max_depth’] ) ) ); ?>
- </div>
- <?php if ( ‘div’ != $args[‘style’] ) : ?>
- </div>
- <?php endif; ?>
- <?php
- }
如果你的主题添加修改了默认的头像调用方式,比如使用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
图片ALT属性不仅有利于搜索引擎索引图片,而且当图片无法加载的时候,会显示图片的ALT信息。wordpress文章插入图片时可以在“替代文本”中填写ALT信息,但评论中的大量Gravatar头像一般主题都没有ALT属性,其实WP以为我们预设了Gravatar头像ALT属性参数。
查看WP官网 Codex get avatar 默认的可选参数:
- <?php echo get_avatar( $id_or_email, $size, $default, $alt, $args ); ?>
其中:$alt 就是 alt可选参数
打开主题评论模板,找到类似这句:
- <?php echo get_avatar( $comment, 64 ); ?>
替换为:
- <?php echo get_avatar( $comment, 64, ”, get_comment_author() ); ?>
将评论者名称作为ALT属性。
如果你的主题调用评论模模块使用的函数是:
- wp_list_comments();
暂时在官网上还没找到用该函数添加ALT属性的参数(貌似wordpress默认主题ALT也是空的),只能按下面的代码拆分这个函数,然后修改。
展开代码展开
- function mytheme_comment($comment, $args, $depth) {
- if ( ‘div’ === $args[‘style’] ) {
- $tag = ‘div’;
- $add_below = ‘comment’;
- } else {
- $tag = ‘li’;
- $add_below = ‘div-comment’;
- }
- ?>
- <<?php echo $tag ?> <?php comment_class( emptyempty( $args[‘has_children’] ) ? ” : ‘parent’ ) ?> id=“comment-<?php comment_ID() ?>”>
- <?php if ( ‘div’ != $args[‘style’] ) : ?>
- <div id=“div-comment-<?php comment_ID() ?>” class=“comment-body”>
- <?php endif; ?>
- <div class=“comment-author vcard”>
- <?php if ( $args[‘avatar_size’] != 0 ) echo get_avatar( $comment, $args[‘avatar_size’] ); ?>
- <?php printf( __( ‘<cite class=“fn”>%s</cite> <span class=“says”>says:</span>’ ), get_comment_author_link() ); ?>
- </div>
- <?php if ( $comment->comment_approved == ‘0’ ) : ?>
- <em class=“comment-awaiting-moderation”><?php _e( ‘Your comment is awaiting moderation.’ ); ?></em>
- <br />
- <?php endif; ?>
- <div class=“comment-meta commentmetadata”><a href=“<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>”>
- <?php
- /* translators: 1: date, 2: time */
- printf( __(‘%1$s at %2$s‘), get_comment_date(), get_comment_time() ); ?></a><?php edit_comment_link( __( ‘(Edit)’ ), ‘ ‘, ” );
- ?>
- </div>
- <?php comment_text(); ?>
- <div class=“reply”>
- <?php comment_reply_link( array_merge( $args, array( ‘add_below’ => $add_below, ‘depth’ => $depth, ‘max_depth’ => $args[‘max_depth’] ) ) ); ?>
- </div>
- <?php if ( ‘div’ != $args[‘style’] ) : ?>
- </div>
- <?php endif; ?>
- <?php
- }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
写给所有做网站的朋友的一封信
现在就开始执行“1+N”互联网推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体互联网推广吧,我们和你一起,开创互联网大未来!