web-dev-qa-db-fra.com

Si autrement Gravatar Auteur Image

Ok, j'ai donc ajouté un champ personnalisé à l'intérieur du champ de profil d'édition WordPress où un contributeur et les supérieurs peuvent ajouter une image personnalisée s'ils n'utilisent pas gravatar. Maintenant, j'essaie d'écrire une déclaration if else et voici 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, c’est que si l’utilisateur a un gravatar, utilisez-le à moins d’avoir spécifié un lien vers son profil. Ou donnez à author_pic la priorité la plus haute même si l’utilisateur a gravatar.

MODIFIER:

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

OK, j'ai donc essayé le code ci-dessous et cela n'a pas fonctionné. Peut-être parce que je mets cela dans un fichier single-what.php. Ce qui précède est ce que j’ai réussi à obtenir, mais le seul problème est qu’il montre que l’avatar et le lien de la photo de l’auteur sont affichés. Je sais donc que j’ai toujours besoin d’ajouter les balises <img>, mais ce sera facile plus tard. La seule chose que j'ai lue est que vous ne pouvez pas mettre une true sur the_author_meta, donc j'ai besoin d'aide.

Si vous pouvez trouver un code à insérer dans le gravatar, je le prendrai mal. En d'autres termes, si vous avez un code que je peux placer dans mon fichier functions.php, cela fonctionnera sur i et je préférerais cela. le nom du champ est author_pic

UPDATE: Ceci est ma dernière écriture avec le code fourni ci-dessous

<?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' ); 
?>
3
xLRDxREVENGEx

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' ); 
?>
2
aaronwaggs

Il y a un nouveau plugin que j'ai découvert récemment et qui s'appelle Simple Local Avatars qui fera exactement ce que vous demandez. Vérifiez-le!

2
wired

Votre if retournera toujours true et contournera votre image d'auteur personnalisée.

Exécutez le si sur le champ personnalisé. S'il renvoie true, ajoutez un filtre à get_avatar qui utilise la photo d'auteur du champ personnalisé.

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

Si je comprends bien, vous ne voulez pas que les gens téléchargent un avatar personnalisé, mais vous voulez que les gens puissent créer un lien vers un avatar personnalisé? (et, dans le cas contraire, un avatar ou gravatar par défaut entre en jeu) Si tel est le cas, cet article vous conviendra probablement. http://www.billerickson.net/wordpress-custom-avatar/

1
user5424