WPBeginner

Beginner's Guide for WordPress

  • Blog
    • Beginners Guide
    • News
    • Opinion
    • Showcase
    • Themes
    • Tutorials
    • WordPress Plugins
  • Start Here
    • How to Start a Blog
    • Create a Website
    • Start an Online Store
    • Best Website Builder
    • Email Marketing
    • WordPress Hosting
    • Business Name Ideas
  • Deals
    • Bluehost Coupon
    • SiteGround Coupon
    • WP Engine Coupon
    • HostGator Coupon
    • Domain.com Coupon
    • Constant Contact
    • View All Deals »
  • Glossary
  • Videos
  • Products
X
☰
Beginner's Guide for WordPress / Start your WordPress Blog in minutes
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

WPBeginner» Blog» Tutorials» How to Display Gravatar from User Email in WordPress

How to Display Gravatar from User Email in WordPress

Last updated on March 26th, 2013 by Editorial Staff
41 Shares
Share
Tweet
Share
Pin
Free WordPress Video Tutorials on YouTube by WPBeginner
How to Display Gravatar from User Email in WordPress

Gravatar has made avatars easier. Like most WordPress powered websites, we also use Gravatar in comments to show the globally recognized avatar of each comment author. Don’t know what is a gravatar? Then read: What is Gravatar? Even though most sites only use Gravatars in the comments, you can quite frankly use it anywhere you like to display any user’s profile picture. For example, in the author bio box, or in the sidebar, or in the about page. In this article, we will show you how to display Gravatar from user email in WordPress.

Gravatar

Note: Our example was done for a membership site. So we are grabbing the email address by pulling logged in user’s information. However, the technique of displaying gravatar from email address stays the same.

Displaying Gravatar from User Email in WordPress Template Files

First, we will show you how to display gravatar in your WordPress templates by using a simple function. Add this code in your theme’s functions.php file or in a site-specific plugin.


function wpbeginner_display_gravatar() { 
	global $current_user;
	get_currentuserinfo();
	// Get User Email Address
	$getuseremail = $current_user->user_email;
	// Convert email into md5 hash and set image size to 32 px
	$usergravatar = 'http://www.gravatar.com/avatar/' . md5($getuseremail) . '?s=32';
	echo '<img src="' . $usergravatar . '" class="wpb_gravatar" />';
} 

To display gravatar in your WordPress templates use this code.

<?php wpbeginner_display_gravatar(); ?>

Displaying Gravatar from User Email in WordPress Posts, Pages and Widgets

Now lets assume that you do have email address of a user and permission to use their gravatar on your site. But you don’t have them as a registered user on your site. Or that you want to display the gravatars of selected users in a post, page or a widget. To solve this problem add this code in your theme’s functions.php file or in a site-specific plugin:


function wpb_display_gravatar($atts) { 
extract( shortcode_atts( array(
		'wpb_user_email' => '',
	), $atts ) );
if ($wpb_user_email == '') { 
	global $current_user;
	get_currentuserinfo();
	$getuseremail = $current_user->user_email;
} else { 
        $getuseremail = $wpb_user_email;
}
	$usergravatar = 'http://www.gravatar.com/avatar/' . md5($getuseremail) . '?s=32';

	echo '<img src="' . $usergravatar . '" />';
} 

add_shortcode('wpb_gravatar', 'wpb_display_gravatar');

What we have done in the above code is that we modified the original wpbeginner_display_avatar function and created a shortcode. This shortcode wpb_gravatar accepts one paramater wpb_user_email. If you have specified an email address parameter in your shortcode, then it displays gravatar for the email address provided in the shortcode instead of the current user. This shortcode can be used in posts, pages, and widgets. To display the gravatar of the current user use this shortcode:

[wpb_gravatar]

To display the gravatar of a user email address use shortcode like this:

[wpb_gravatar wpb_user_email="john.smith@example.com"]

You can also add CSS by adding .wpb_gravatar class to your stylesheet. Like this:

.wpb_gravatar { 
padding: 3px;
margin: 3px;
background:#FFFFFF; 
border:2px solid #eee; 
} 

We hope that you found this article useful in displaying gravatar from user email address in WordPress. If you have questions or feedback please leave a comment.

41 Shares
Share
Tweet
Share
Pin
Popular on WPBeginner Right Now!
  • How to Fix the Error Establishing a Database Connection in WordPress

    How to Fix the Error Establishing a Database Connection in WordPress

  • Google Analytics in WordPress

    How to Install Google Analytics in WordPress for Beginners

  • How to Properly Move Your Blog from WordPress.com to WordPress.org

  • Revealed: Why Building an Email List is so Important Today (6 Reasons)

    Revealed: Why Building an Email List is so Important Today (6 Reasons)

About the Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Trusted by over 1.3 million readers worldwide.

The Ultimate WordPress Toolkit

9 Comments

Leave a Reply
  1. Best Bibek says:
    Oct 15, 2018 at 6:49 am

    How to display a default avatar if the user hasn’t created account on gravatar or has’t choosen gravatar profile?

    Hoping for some help!

    Reply
    • WPBeginner Support says:
      Oct 16, 2018 at 3:12 pm

      For controlling the default Gravatar you would want to take a look at our article here: https://www.wpbeginner.com/wp-tutorials/how-to-change-the-default-gravatar-on-wordpress/

      Reply
  2. Iqbal Hussain says:
    Dec 19, 2017 at 8:19 am

    This post is really helpful for me.

    Reply
  3. James Katt says:
    Nov 30, 2016 at 10:02 am

    How do you show the DEFAULT Gravatar picture if the user has no Gravatar picture?

    Thanks.

    Reply
  4. Paul D. says:
    Mar 7, 2016 at 9:31 am

    wondering if i can replace the ‘gravatar.com/avatar/’ image with myown
    ‘…my domain…/images/avatar.jpg’

    i have a tried a simple replace, but it doesn’t seem to work. any suggestions?

    Reply
    • WPBeginner Support says:
      Mar 7, 2016 at 11:00 pm

      Please take a look at this guide, how to set custom avatars for users in WordPress.

      Reply
  5. Nicholas Kyriakides says:
    May 31, 2015 at 8:53 am

    Hi! Is there a way to use instead of gravatar, to use facebook avatar for my members including a shortcode?!

    Reply
  6. George Stephanis says:
    Mar 28, 2013 at 12:21 am

    Also, make sure you strtolower() the email, before md5’ing it!

    Reply
  7. Pascal says:
    Mar 26, 2013 at 12:42 pm

    WordPress has a get_avatar() function. Use this instead.

    Reply

Leave a Reply Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

Over 1,320,000+ Readers

Get fresh content from WPBeginner

Featured WordPress Plugin
WP Mail SMTP logo
WP Mail SMTP
Fix WordPress email delivery issues. #1 SMTP plugin. Learn More »
How to Start a Blog How to Start a Blog
I need help with ...
Starting a
Blog
WordPress
Performance
WordPress
Security
WordPress
SEO
WordPress
Errors
Building an
Online Store
Useful WordPress Guides
    • 7 Best WordPress Backup Plugins Compared (Pros and Cons)
    • How to Fix the Error Establishing a Database Connection in WordPress
    • Why You Need a CDN for your WordPress Blog? [Infographic]
    • 30 Legit Ways to Make Money Online Blogging with WordPress
    • Self Hosted WordPress.org vs. Free WordPress.com [Infograph]
    • Free Recording: WordPress Workshop for Beginners
    • 24 Must Have WordPress Plugins for Business Websites
    • How to Properly Move Your Blog from WordPress.com to WordPress.org
    • 5 Best Contact Form Plugins for WordPress Compared
    • Which is the Best WordPress Popup Plugin? (Comparison)
    • Best WooCommerce Hosting in 2021 (Comparison)
    • How to Fix the Internal Server Error in WordPress
    • How to Install WordPress - Complete WordPress Installation Tutorial
    • Why You Should Start Building an Email List Right Away
    • How to Properly Move WordPress to a New Domain Without Losing SEO
    • How to Choose the Best WordPress Hosting for Your Website
    • How to Choose the Best Blogging Platform (Comparison)
    • WordPress Tutorials - 200+ Step by Step WordPress Tutorials
    • 5 Best WordPress Ecommerce Plugins Compared
    • 5 Best WordPress Membership Plugins (Compared)
    • 7 Best Email Marketing Services for Small Business (2021)
    • How to Choose the Best Domain Registrar (Compared)
    • The Truth About Shared WordPress Web Hosting
    • When Do You Really Need Managed WordPress Hosting?
    • 5 Best Drag and Drop WordPress Page Builders Compared
    • How to Switch from Blogger to WordPress without Losing Google Rankings
    • How to Properly Switch From Wix to WordPress (Step by Step)
    • How to Properly Move from Weebly to WordPress (Step by Step)
    • Do You Really Need a VPS? Best WordPress VPS Hosting Compared
    • How to Properly Move from Squarespace to WordPress
    • How to Register a Domain Name (+ tip to get it for FREE)
    • HostGator Review - An Honest Look at Speed & Uptime (2021)
    • SiteGround Reviews from 4464 Users & Our Experts (2021)
    • Bluehost Review from Real Users + Performance Stats (2021)
    • How Much Does It Really Cost to Build a WordPress Website?
    • How to Create an Email Newsletter the RIGHT WAY (Step by Step)
    • Free Business Name Generator (A.I Powered)
    • How to Create a Free Business Email Address in 5 Minutes (Step by Step)
    • How to Install Google Analytics in WordPress for Beginners
    • How to Move WordPress to a New Host or Server With No Downtime
    • Why is WordPress Free? What are the Costs? What is the Catch?
    • How to Make a Website in 2021 – Step by Step Guide
Deals & Coupons (view all)
MainWP
MainWP Coupon
Get 15% OFF on MainWP WordPress multisite manager plugin.
Drip Coupon Code
Drip Coupon
Get an exclusive 14-day FREE trial of this powerful marketing automation tool.
Featured In
About WPBeginner®

WPBeginner is a free WordPress resource site for Beginners. WPBeginner was founded in July 2009 by Syed Balkhi. The main goal of this site is to provide quality tips, tricks, hacks, and other WordPress resources that allows WordPress beginners to improve their site(s).

Join our team: We are Hiring!

Site Links
  • About Us
  • Contact Us
  • FTC Disclosure
  • Privacy Policy
  • Terms of Service
  • Free Blog Setup
  • Free Business Tools
  • Growth Fund
Our Sites
  • OptinMonster
  • MonsterInsights
  • WPForms
  • SeedProd
  • Nameboy
  • RafflePress
  • Smash Balloon
  • AIOSEO

Copyright © 2009 - 2021 WPBeginner LLC. All Rights Reserved. WPBeginner® is a registered trademark.

Managed by Awesome Motive | WordPress hosting by SiteGround | WordPress Security by Sucuri.