it-swarm.com.de

So ändern Sie die Gravatar-Größe bei Verwendung von comments_template

Ich versuche, die Standardgröße für Gravatar zu ändern. Da ich eine von WP generierte Kommentarvorlage verwende (mit der Funktion comments_template ()), habe ich mich an Filter gewandt und dies ist mein benutzerdefinierter Code:

function change_avatar_size ( $id_or_email, $size = 100, $default = '', $alt = '', $args = null ) {

    $args['size']    = (int) $size;  

    $url2x = get_avatar_url( $id_or_email, array_merge( $args, array( 'size' => $args['size'] * 2 ) ) );

    $args = get_avatar_data( $id_or_email, $args );

    $url = $args['url']; 

    $class = array( 'avatar', 'avatar-' . (int) $args['size'], 'photo' );  

    $avatar = sprintf(
        "<img alt='%s' src='%s' srcset='%s' class='%s' height='%d' width='%d' %s/>",
        esc_attr( $args['alt'] ),
        esc_url( $url ),
        esc_attr( "$url2x 2x" ),
        esc_attr( join( ' ', $class ) ),
        (int) $args['height'],
        (int) $args['width'],
        $args['extra_attr']
    );

    return $avatar;

}
add_filter( 'get_avatar', 'change_avatar_size' );

Die Größe ändert sich, aber ich erhalte nicht die richtige Gravatar-URL. Ich erhalte tatsächlich das Standard-Gravatar-Bild, als ob der generierte Link nicht korrekt wäre. Irgendwelche Ideen?

1
Bruno Kos

Hier ist, wie es mit der Methode gemacht wird, mit der Bruno ging (für andere, die sich das fragen):

wp_list_comments( array(
    'avatar_size' => 32
) );

Sie können dies auch auf diese Weise tun , abhängig von Ihrem Anwendungsfall:

global $comment;
echo get_avatar($comment, 64)
1
Bryan Willis

Gefunden - keine Notwendigkeit, Filter zu verwenden, da der Parameter avatar_size in wp_list_comments enthalten ist, finden Sie ihn hier: https://developer.wordpress.org/reference/functions/wp_list_comments/

0
Bruno Kos