get_user_meta courte section Profil
-
22-10-2019 - |
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' );
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.