Question

Ok donc j'ai ajouté un champ personnalisé dans l'utilisateur modifier la page de profil où ils peuvent ajouter un lien vers une URL d'une image qu'ils veulent. J'utilise actuellement cela pour contribitors et au-dessus, mais j'ai aussi une petite petite boîte de profil sur mon site qui reçoit les utilisateurs avatar de Gravatar. J'ai utilisé le code d'avant, mais changé autour pour obtenir le courant signé sur les utilisateurs authorpic ou obtenir le gravatar. Voir ci-dessous le code

$profilepic = get_user_meta('author_pic');
$imgtagbeg = ('<img style="height:52px; width:52px" src="');
$imgtagend = ('"/>');
    if ($profilepic)
        echo $imgtagbeg,$profilepic,$imgtagend; 
    else
        echo get_avatar( $user_email, '52', $default = 'http://www.gravatar.com/avatar.php?gravatar_id=$md5&size=80&default=$default' );

Ce que je veux faire est si l'utilisateur actuel signé en a un avatar lié dans son champ de profil puis utilisez qu'au lieu de Gravatar. Mais si l'auteur a un gravatar et a laissé le champ vide dans l'utilisation du profil ou obtenir la valeur par défaut gravatar

Mise à jour: Qu'en est-il quelque chose comme ça

$userpic = '<img src="link/to/author_pics/$userid.png"';
    if ($userpic)
        echo $userpic;
    else
        echo get_avatar( $user_email, '52', $default = 'http://www.gravatar.com/avatar.php?gravatar_id=$md5&size=80&default=$default' );

Au lieu de compter sur un champ utilisateur il suffit de télécharger une image dans un répertoire et y utiliser userid comme nom de fichier, puis charger une utilisation autre gravatar. Would que le travail.

UPDATE 2:

$userpiccur = wp_get_current_user();
$userpicloc = 'http://avatars.mydomain.com/';
$userpictyp = '.png';
$userpicurl = $userpicloc . $userpiccur->user_login . $userpictyp;
$header_response = get_headers($userpicurl, 1);
$userpicbeg = '<img style="height:52px; width:52px" src="http://avatars.mydomain.com/';
$userpicend = '.png"/>';
if ( strpos( $header_response[0], "404" ) !== false )
    echo $userpicbeg,$userpiccur->user_login,$userpicend;
else
    echo get_avatar( $user_email, '52', $default = 'http://www.gravatar.com/avatar.php?gravatar_id=$md5&size=80&default=$default' );
Était-ce utile?

La solution 3

Ok, donc je l'ai eu à travailler comme je veux. Maintenant, tout ce que je dois faire est de déterminer si je veux un utilisateur pour pouvoir télécharger leur propre image ou non.

<?
$userpiccur = wp_get_current_user();
$userpicloc = 'http://avatars.mydomain.com/';
$userpictyp = '.png';
$userpicurl = $userpicloc.$userpiccur->user_login.$userpictyp;
$userpicbeg = '<img class="avatar avatar-52 photo" style="height:52px; width:52px" src="';
$userpicend = '"/>';
if (@fopen($userpicurl, "r"))
    echo  $userpicbeg,$userpicurl,$userpicend;
else
    echo get_avatar( $user_email, '52', $default = 'http://www.gravatar.com/avatar.php?gravatar_id=$md5&size=80&default=$default' );
?>

Autres conseils

À partir du noyau:

function get_user_meta($user_id, $key, $single = false) {
    return get_metadata('user', $user_id, $key, $single);
}

transmettre l'ID d'utilisateur comme étant le premier argument, le 'author_pic' touche que la deuxième et la troisième TRUE que (pour obtenir une valeur de chaîne arrière).

Votre code dans la partie d'édition de la question devrait fonctionner, et aussi votre première partie, mais vous devez ajouter l'ID utilisateur get_user_meta () fonction utilisez donc votre premier code, mais modifier la première ligne à ceci:

$profilepic = get_user_meta($user_id,'author_pic',true);

et assurez-vous $ user_id tenir ID réel de l'utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top