Question

Ok donc j'ai ajouté un champ personnalisé à l'intérieur du champ de modifier le profil de WordPress où un contributeur et ci-dessus peuvent ajouter une image personnalisée si elles ne pas utiliser Gravatar. Maintenant, je suis en train d'écrire une instruction if autre et ce que j'ai

<?
    $hasauthorpic = (the_author_meta('author_pic'));
    if (function_exists('get_avatar')) { echo get_avatar( get_the_author_email(), '80' );}
    else {echo '?><img class="avatar avatar-80 photo"><? $hasauthorpic ?></img><? ';}
?>

Ce que je veux essayer de faire est de savoir si l'utilisateur a une utilisation de gravatar à moins qu'ils ont indiqué un lien pour y photo de profil. Ou bien les author_pic devenir une priorité plus élevée, même si l'utilisateur a gravatar.

EDIT:

<?
$authorpic = the_author_meta('author_pic');
$gravatar = get_avatar( get_the_author_email(), '80' );
    if ($authorpic); 
    elseif (function_exists('get_avatar')) 
            echo ($gravatar); 
?>

OK donc j'ai essayé le code ci-dessous et qui ne fonctionnait pas tout à fait. Peut-être parce que je suis en train de cela dans un seul fichier-whatever.php. Ce qui précède est ce que j'ai réussi à obtenir, mais le seul problème est quand il montre qu'il montre à la fois le lien de photo de l'avatar et auteur donc je sais que je dois encore ajouter les balises de <img> mais ce sera facile plus tard. La seule chose que je l'ai lu est que votre cant mettre un true sur the_author_meta donc je besoin d'aide.

Si vous pouvez trouver un code pour accrocher dans les trucs de gravatar puis prendre mal il. En d'autres termes, si vous avez un code que je peux mettre dans mon fichier functions.php travail thatll i et je préférerais que. le nom du champ est author_pic

Mise à jour: Ceci est mon écriture finale avec le code fourni par le bas

<?php
$authorpic = get_the_author_meta('author_pic');
$imgtagbeg = ('<img style="height:80px; width:80px" src="');
$imgtagend = ('"/>');
if ($authorpic)
    echo $imgtagbeg,$authorpic,$imgtagend; 
else
    echo get_avatar( get_the_author_email(), '80' ); 
?>
Était-ce utile?

La solution

Vous devez utiliser get_the_author_meta () au lieu de the_author_meta ()

<?php
$authorpic = get_the_author_meta('author_pic');
if ($authorpic)
    echo $authorpic; 
else
    echo get_avatar( get_the_author_email(), '80' ); 
?>

Autres conseils

Votre if retourne toujours vrai et bypass votre photo auteur personnalisé.

Exécuter le cas sur le champ personnalisé. Si elle retourne vrai, alors ajouter un filtre à get_avatar qui utilise le pic auteur de champ personnalisé.

if ( the_author_meta('author_pic') ) {
add_filter( 'get_avatar', 'your_custom_author_pic_function' );
}

Il y a un nouveau plugin doux J'ai découvert récemment appelé simple local Avatars qui va faire exactement ce que vous demandez. Check it out!

Si je comprends correctement, vous ne voulez pas que les gens télécharger un avatar personnalisé, mais vous ne voulez que les gens puissent faire un lien vers un avatar personnalisé? (Et, sinon, un botté avatar par défaut ou dans Gravatar) Si tel est le cas, cet article répondra à vos besoins probablement http://www.billerickson.net/ wordpress-custom-avatar /

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