it-swarm.com.de

Wie ändere ich den Avatar eines Benutzers?

Gibt es eine Möglichkeit, den Avatar eines Benutzers ohne Plugins zu ändern? Warum gibt es unter Benutzer> Ihr Profil keinen Abschnitt "Avatar hochladen"?

Ich kann kein Plugin verwenden. Bin ich blind oder gezwungen, Gravatar zu benutzen? ; /

5
Wordpressor

Avatare sollen vom Benutzer gesteuert werden, nicht von Ihnen. In gewisser Weise werden Sie gezwungen, den Gravatar-Dienst zu nutzen. Bedenken Sie jedoch, dass der Benutzer damit überall denselben Avatar verwenden kann und dass Sie die Anzeige eines Gravatars jederzeit basierend auf den Inhaltsbewertungen (G, PG, PG-13, R) einschränken können.

Gravatar ist ein gehosteter Dienst, weshalb es im Profil keinen Abschnitt "Avatar hochladen" gibt.

Sie sagen, Sie können kein Plugin verwenden, aber nur so können Sie Funktionen hinzufügen. Wenn Sie etwas anderes als Gravatar verwenden möchten, müssen Sie ein Plug-In laden, um dies zu unterstützen. Es gibt einige Plug-Ins, die lokale Avatare unterstützen:

Ansonsten empfehle ich Ihnen, Ihre Benutzer darüber zu unterrichten, was Gravatare sind und wie man sie verwendet.

6
EAMann

Wenn Sie sich fragen, wie Sie das Standard-Gravatar durch eines Ihrer eigenen ersetzen können, können Sie diesen Code in die functions.php einfügen (oder besser in die custom-functions.php, wenn Ihr Theme dies unterstützt).

add_filter( 'avatar_defaults', 'customgravatar' );

function customgravatar ($avatar_defaults) {
$myavatar = get_home_url('Template_directory') . '/images/mycustomgravatar.jpg';
$avatar_defaults[$myavatar] = "My Custom Logo";
return $avatar_defaults;
}

Erstellen Sie eine Bilddatei und laden Sie sie in das Bildverzeichnis Ihrer Site hoch. Das "Mein benutzerdefiniertes Logo" ist die Bezeichnung für die Option im Abschnitt "Diskussion" Ihres Dashboards. Auf diese Weise erhält jeder Benutzer, der kein Gravatar hat, stattdessen das Logo Ihrer Website.

6
Ray Mitchell

Sie benötigen etwas mehr Code, damit der avatar_defaults-Hook funktioniert, als die Ray Mitchell-Antwort. Ich habe diesen Code auf den WordPress-Codex-Seiten gefunden und er hat gut funktioniert, dank der normalisierten Benutzer-ID, die an den Standard-Avatar-Hook weitergeleitet wurde (dies) funktioniert entweder mit einer einfachen Benutzer-ID oder einer E-Mail UND mit dem Objektbenutzer selbst)

    // Apply filter
add_filter( 'get_avatar' , 'my_custom_avatar' , 1 , 5 );

function my_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
    $user = false;

    if ( is_numeric( $id_or_email ) ) {

        $id = (int) $id_or_email;
        $user = get_user_by( 'id' , $id );

    } elseif ( is_object( $id_or_email ) ) {

        if ( ! empty( $id_or_email->user_id ) ) {
            $id = (int) $id_or_email->user_id;
            $user = get_user_by( 'id' , $id );
        }

    } else {
        $user = get_user_by( 'email', $id_or_email );   
    }

    if ( $user && is_object( $user ) ) {

        if ( $user->data->ID == '1' ) {
            $avatar = 'YOUR_NEW_IMAGE_URL';
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }

    }

    return $avatar;
}
1
jilt

Mir ist aufgefallen, dass es darauf ankommt, welches Theme aktiviert ist. Zum Beispiel keine Option im Mantra-Theme, aber es gibt eine Option im Standard-Theme von buddypress.

0
mirola

Sie können es tun ... Sie müssen das Bild zu Ihren Medien hinzufügen. Kopieren Sie diese Mediendatei-URL und fügen Sie sie unter Benutzer bearbeiten in Ihre benutzerdefinierte Benutzer-Avatar-URL ein bzw. verknüpfen Sie sie mit dieser. Sortiert!

0
sherise

Fügen Sie Ihre avatar.jpg-Datei zu Ihrem Bilderordner für untergeordnete Themen hinzu und fügen Sie den folgenden Code zu Ihrer Funktionsdatei für untergeordnete Themen hinzu:

add_filter( 'get_avatar' , 'add_custom_avatar' , 1 , 5 );

function add_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
    $user = false;

    if ( is_numeric( $id_or_email ) ) {

        $id = (int) $id_or_email;
        $user = get_user_by( 'id' , $id );

    } elseif ( is_object( $id_or_email ) ) {

        if ( ! empty( $id_or_email->user_id ) ) {
            $id = (int) $id_or_email->user_id;
            $user = get_user_by( 'id' , $id );
        }

    } else {
        $user = get_user_by( 'email', $id_or_email );   
    }

    if ( $user && is_object( $user ) ) {

        if ( $user->data->ID == '1' ) {
            $avatar = sprintf( '%s/images/avatar.jpg', get_stylesheet_directory_uri() );
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }

    }

    return $avatar;
}
0
Dev

Ich weiß, dass ich auf einer Projektsite ein Feld auf der Seite des Benutzerprofil-Editors erstellen konnte, um einen Bildpfad zu akzeptieren (der über die Medienseite hochgeladen wurde, wenn ich mich recht entsinne), der für Avatare verwendet werden konnte. Es werden keine Plugins benötigt.

0
tw2113