web-dev-qa-db-fra.com

Remplacer Gravatar par img URL pour les avatars

J'ai beaucoup, beaucoup d'auteurs WordPress. Pour chacun d'entre eux, j'ai utilisé le champ de profil wp_usermeta personnalisé "photo_url" pour stocker les URL des différentes images d'avatar hébergées à distance.

J'affiche actuellement ces avatars sur author.php en faisant écho aux chaînes de caractères à travers la balise HTML img. Mais j'aimerais les intégrer plus étroitement à WordPress, en les rendant disponibles via get_avatar, comme s'il s'agissait d'avatars standard.

J'ai examiné plusieurs discussions ici, y compris sur la désactivation de Gravatar . C'est bien, mais comment puis-je m'assurer que les URL sont accessibles via tous les hooks d'avatar WordPress standard aux endroits que je souhaite - à savoir. sur les profils d'auteur, les messages et les boucles?

(Je souhaite également utiliser par défaut get_template_directory_uri() . '/images/avatar_default.png' chaque fois que "photo_url" n'a aucune valeur.

Je vous remercie.

2
Robert Andrews

Sauf si j'ai mal compris votre question pour créer un gravatar personnalisé à utiliser dans votre thème, ajoutez le code ci-dessous à votre functions.php ou à un plugin personnalisé.

A partir de là, personnalisez le titre et l'image que vous souhaitez utiliser. Voir la capture d'écran ci-dessous pour le résultat final.

add_filter( 'avatar_defaults', 'dev_designs_gravatar' );
/**
 * Display a custom Gravatar
 * 
 * @param       $avatar
 * @return      mixed
 * @author      Joe Dooley - [email protected]
 *              
 */
function dev_designs_gravatar( $avatar ) {
    $custom_avatar            = get_stylesheet_directory_uri() . '/images/avatar_default.png';
    $avatar[ $custom_avatar ] = "Custom Gravatar";

    return $avatar;
}

 See Custom Avatar in top right of the admin bar.  Select new Custom Gravatar option to set default gravatar for theme. 

1
Joe Dooley