J'ai besoin d'obtenir le lien de photo de profil auteur auteur.
Je sais que je peux utiliser get_avatar();
mais il affiche le balisage de l'image entière
<img src="http://.../img.png" class="avatar img-responsive" alt="image">
Mais n’avez besoin que de la src
de la photo de profil d’auteur.
Comment puis-je avoir ça? Peut-être pourrions-nous utiliser des variables php
ou js
pour extraire la seule valeur src
de la sortie totale.
Ma deuxième question est la suivante: comment puis-je ajouter cette image
en tant que post_thumbnail
si aucune vignette n'existe pour cette publication?
Mettre la boucle intérieure suivante devrait répondre à vos besoins:
<?php
$get_author_id = get_the_author_meta('ID');
$get_author_gravatar = get_avatar_url($get_author_id, array('size' => 450));
if(has_post_thumbnail()){
the_post_thumbnail();
} else {
echo '<img src="'.$get_author_gravatar.'" alt="'.get_the_title().'" />';
}
?>
utilisez simplement la fonction get_avatart_uri () et transmettez le courrier électronique de l'utilisateur en tant que paramètre qui vous donnera l'URL de l'image de l'avatar
En plus d'utiliser get_avatar_url
, vous pouvez toujours utiliser get_avatar
. Si je ne me trompe pas, c'est ce que vous recherchez.
Obtenir le lien post picture author profile
<?php
// only output if gravatar function exists
if (function_exists('get_avatar')) { ?>
<?php
// Convert email into md5 hash and set image size to 32px
$gravatar = 'http://www.gravatar.com/avatar/' . md5(strtolower($user_email)) . '&s=32';
// Convert email into md5 hash and remove image size to use as post image
$gravatar_bg = 'http://www.gravatar.com/avatar/' . md5(strtolower($user_email)) . '';
?>
<!-- Output the gravatar as img src -->
<img src="<?php echo "$gravatar";?>" alt="">
<!-- Output the gravatar as background url -->
<div class="avatar" style="background: url(<?php echo $gravatar_bg ?>);" ></div>
<?php } ?>
Ajouter cette image en tant que post_thumbnail s'il n'existe aucune miniature pour ce message
<?php
// Check if post has thumbnail
// if ( has_post_thumbnail() ) { // option 1
if ( '' != get_the_post_thumbnail() ) { // option 2
// if has, output the thumbnail
the_post_thumbnail();
} else {
// if not, show the gravatar image
echo '<img src="<?php echo "$gravatar";?>" alt="">';
}
?>
En espérant que ça aide, bonne chance!
Ressources: Utilisation de Gravatars | hast_post_thumbnail