为WP网站的Gravatar头像添加ALT属性

!
也想出现在这里? 联系我们
信息

4f95a68698ed8b73518cc881224a028b

图片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
    }
 
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容