我结合了一些其他的解决方案。
为了使用Denis de Bernardy\'s answer 我们需要为gravater提供一个默认值,以便我们可以在CSS中针对它。
如果我们在模板中调用wp\\u list\\u注释的任何地方都提供自己的注释格式回调函数,就可以做到这一点。
在我们的回调中,我们可以使用Anil\'s answer 传递默认值以获取\\u avatar。
在调用wp_list_comments的模板文件中,添加如下回调函数:
wp_list_comments([\'callback\' => \'my_format_comment\']);
在您的功能中。php文件声明一个新的注释格式函数,复制Wordpress代码(下面的完整代码)并更改此行:
<?php if ( 0 != $args[\'avatar_size\'] ) echo get_avatar( $comment, $args[\'avatar_size\']\' ); ?>
对此:
<?php if ( 0 != $args[\'avatar_size\'] ) echo get_avatar( $comment, $args[\'avatar_size\'], \'identicon\' ); ?>
然后您可以像这样添加CSS:
.comment-author img[src*="identicon"] {
display: none;
}
完整的注释格式函数如下所示(我还替换了对$this的调用):
function my_format_comment($comment, $args, $depth) {
$tag = ( \'div\' === $args[\'style\'] ) ? \'div\' : \'li\';
?>
<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( count($comment->get_children()) ? \'parent\' : \'\', $comment ); ?>>
<article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
<footer class="comment-meta">
<div class="comment-author vcard">
<?php if ( 0 != $args[\'avatar_size\'] ) echo get_avatar( $comment, $args[\'avatar_size\'], \'identicon\' ); ?>
<?php
/* translators: %s: comment author link */
printf( __( \'%s <span class="says">says:</span>\' ),
sprintf( \'<b class="fn">%s</b>\', get_comment_author_link( $comment ) )
);
?>
</div><!-- .comment-author -->
<div class="comment-metadata">
<a href="<?php echo esc_url( get_comment_link( $comment, $args ) ); ?>">
<time datetime="<?php comment_time( \'c\' ); ?>">
<?php
/* translators: 1: comment date, 2: comment time */
printf( __( \'%1$s at %2$s\' ), get_comment_date( \'\', $comment ), get_comment_time() );
?>
</time>
</a>
<?php edit_comment_link( __( \'Edit\' ), \'<span class="edit-link">\', \'</span>\' ); ?>
</div><!-- .comment-metadata -->
<?php if ( \'0\' == $comment->comment_approved ) : ?>
<p class="comment-awaiting-moderation"><?php _e( \'Your comment is awaiting moderation.\' ); ?></p>
<?php endif; ?>
</footer><!-- .comment-meta -->
<div class="comment-content">
<?php comment_text(); ?>
</div><!-- .comment-content -->
<?php
comment_reply_link( array_merge( $args, array(
\'add_below\' => \'div-comment\',
\'depth\' => $depth,
\'max_depth\' => $args[\'max_depth\'],
\'before\' => \'<div class="reply">\',
\'after\' => \'</div>\'
) ) );
?>
</article><!-- .comment-body -->
<?php
}