WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a way o changing user's avatar without plugins? Why there's no "Avatar Upload" section in Users > Your Profile?

I can't use a plugin. Am I blind or being forced to use Gravatar? ;/

share|improve this question
Is there a reason you can't use plugins? Is this a wordpress.com blog? (Use @Jan in your reply so I get a notification) – Jan Fabry Jan 24 '11 at 15:59
@Jan: the reason is I'm helping my buddy to build his own free theme. And one of our goals is to make it plugin-free too. – Wordpressor Jan 24 '11 at 20:57
Of course, you can always include all code from a plugin in your template too (via the functions.php file). Is that still "plugin-free" in your definition? – Jan Fabry Jan 25 '11 at 7:24
up vote 6 down vote accepted

Avatars are meant to be controlled by the user, not by you. So yes, in a way, you're being forced to use the Gravatar service. But remember, it gives the user the ability to use the same avatar anywhere, and you can always restrict the display of a gravatar based on content ratings (G, PG, PG-13, R).

Gravatar is a hosted service, which is why there's no "Upload Avatar" section in the profile.

You say you "can't use a plugin," but really that's the only way you can add features. If you want to use something other than Gravatar, you'll need to load a plug-in to support it. There are a few plug-ins that support local avatars:

Otherwise, I recommend you educate your users on what Gravatars are and how to use them.

share|improve this answer
That's TOTALLY WRONG! I don't have to educate my users, because I want to change admin's avatar etc. And I'm not able to. And as far as I remember there was an option like this? ;/ That's forcing me to use some strange site that I don't even want to use. That's STRANGE. Imagine I want to set up a blog for a local business network without internet access (security reasons, restricted data) etc. And it's not even possible without a plugin. What a shame. – Wordpressor Jan 24 '11 at 15:23
@Wordpressor: By "that's totally wrong", do you mean EAMann's answer is wrong, or is it the situation you don't agree with? Gravatar is owned by Automattic, the company of Matt Mullenweg, who decides what goes in WordPress. That's probably the reason why they only support it out of the box, and other methods are delegated to plugins. – Jan Fabry Jan 24 '11 at 15:58
@Jan Fabry: LOL! It's even funnier. I have to create additional input in my admin panel, because my user have to send his Gravatar ID to the back-end. WOOOHAA! AMAZING! I hate you Matt Mullenweg. – Wordpressor Jan 24 '11 at 21:06
@Wordpressor For the context [ Decisions not Options ](wordpress.org/about/philosophy) is one of cornerstones of how are things done in WordPress. Defaulting to gravatars is decision that makes enough sense, is flexible enough and promotes affiliated service. And when decision is made it is usually up to plugins to provide tweaks or alternatives. – Rarst Jan 24 '11 at 21:19
@Wordpressor Please sing the random lyrics of Hello Dolly. It will make you feel better ;) – Michal Mau Jan 25 '11 at 4:11

If you are asking how to replace the default gravatar with one of your own, you can put this code in the functions.php (or better yet the custom-functions.php if your theme supports it).

add_filter( 'avatar_defaults', 'customgravatar' );

function customgravatar ($avatar_defaults) {
$myavatar = get_home_url('Template_directory') . '/images/mycustomgravatar.jpg';
$avatar_defaults[$myavatar] = "My Custom Logo";
return $avatar_defaults;

Create an image file and upload it to the image directory for your site. The "My Custom Logo" is the label for the option in the Discussion section of your Dashboard. This way any user who doesn't have a gravatar will get the logo of your site instead.

share|improve this answer
I've been using this code for ages, but I need to give the gravatars an ALT text. I'm not sure where I can enter that without breaking the code. – japanworm May 23 '15 at 14:17

I know that on one project site, I was able to create a field on the user profile editor page for accepting an image path(uploaded through the media page if I recall right) that was able to be used for avatars. No plugins needed.

share|improve this answer

I noticed that it depends on which theme is activated. No option in Mantra theme for example, but there is an option in the buddypress default theme.

share|improve this answer

You can do it... You need to add the image to your media. Copy that media file URL and paste/link it to your custom user avatar url under edit user. SORTED!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.