Question

Est-il possible de changer o avatar de l'utilisateur sans plug-ins? Pourquoi il n'y a pas de section "Avatar Upload" Utilisateurs> Votre profil?

Je ne peux pas utiliser un plug-in. Suis-je aveugle ou d'être forcé d'utiliser Gravatar? ; /

Était-ce utile?

La solution

Avatars sont destinés à être contrôlé par l'utilisateur, et non par vous. Alors oui, en quelque sorte, vous êtes obligés d'utiliser le service Gravatar. Mais rappelez-vous, il donne à l'utilisateur la possibilité d'utiliser le même partout avatar, et vous pouvez toujours limiter l'affichage d'un gravatar contenu en fonction des notes (G, PG, PG-13, R).

Gravatar est un service hébergé, ce qui est la raison pour laquelle il n'y a pas de section "Upload Avatar" dans le profil.

Vous dites que vous « ne pouvez pas utiliser un plug-in », mais vraiment qui est la seule façon que vous pouvez ajouter des fonctionnalités. Si vous voulez utiliser quelque chose autre que Gravatar, vous aurez besoin de charger un plug-in pour le soutenir. Il y a quelques plug-ins qui prennent en charge les avatars locaux:

Dans le cas contraire, je vous recommande éduquez vos utilisateurs sur ce que Gravatars sont et comment les utiliser.

Autres conseils

Si vous demandez comment remplacer le gravatar par défaut avec un de vos propres, vous pouvez mettre ce code dans le functions.php (ou mieux encore le functions.php personnalisé si vos supports à thème il).

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;
}

Créer un fichier image et le télécharger dans le répertoire d'image pour votre site. Le « Logo My Custom » est l'étiquette de l'option dans la section Discussion du tableau de bord. De cette façon, tout utilisateur qui ne dispose pas d'un gravatar va obtenir le logo de votre site à la place.

Vous avez besoin d'un code peu plus pour le crochet de avatar_defaults au travail que la réponse Ray Mitchell, je trouve ce code sur la page pages codex wordpress et il a bien fonctionné grâce à l'ID utilisateur normalisé transmis au crochet de l'avatar par défaut (cela fonctionne soit avec un simple identifiant d'utilisateur ou e-mail et avec l'utilisateur de l'objet lui-même)

    // 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;
}

Je sais que sur un site de projet, j'ai pu créer un champ sur le profil de l'utilisateur page de l'éditeur pour accepter un chemin d'image (téléchargée via la page des médias si je me souviens bien) qui a pu être utilisé pour les avatars. Aucun plug-ins nécessaires.

Je remarque que cela dépend de quel thème est activé. Pas d'option dans le thème Mantra par exemple, mais il y a une option dans le thème par défaut de BuddyPress.

Vous pouvez le faire ... Vous devez ajouter l'image à vos médias. Copiez cette URL de fichier multimédia et coller / lien à votre URL Avatar de l'utilisateur personnalisé sous l'utilisateur d'édition. TRIEE!

Ajoutez votre fichier avatar.jpg dans votre dossier thèmes enfants images et le code suivant à vos thèmes enfants fichier fonctions:

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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top