For a long time, a lot of WPFolks profiles had no picture on them.

Not because folks did not want one. Because WPFolks only ever looked in
one place, and if that place was empty, so was the profile. A community
directory full of grey circles does not look like a community. It looks
abandoned.

Your profile picture now comes from one of four places, and you decide
which. If you have none of them, you get your initials rather than
nothing at all.

This guide covers all of it: the four sources, how to choose between
them, uploading and cropping your own, and what to do when the picture
you expect is not the one showing.


Contents

  1. The four sources
  2. Choosing which one shows
  3. Uploading your own
  4. The initials fallback
  5. Where your picture appears
  6. When the wrong picture shows
  7. The bug that started all this
  8. Questions I keep getting asked

1. The four sources

In priority order, when you have not chosen one yourself:

# Source Where it comes from
1 Uploaded photo A picture you uploaded directly to WPFolks
2 WordPress.org The photo on your linked WordPress.org profile
3 Gravatar The Gravatar for the email you sign in with
4 Social login The account you signed in with, usually Google

If you have several, the highest one on that list wins until you say
otherwise. If you have none, you get your initials.

A few of these need explaining, because two of them are the same thing
wearing different hats.

WordPress.org and Gravatar are both Gravatar

WordPress.org does not host profile photos. It renders the Gravatar for
the email address on your .org account. So “WordPress.org” and “Gravatar”
are the same service, keyed to two different email addresses.

That distinction matters more than it sounds. If your WPFolks sign-in
email is different from your WordPress.org email, and only one of them
has a Gravatar, then linking your WordPress.org account is what makes
your photo appear. Not because .org has a photo WPFolks could not reach,
but because it gives WPFolks a second email to check.

If both emails are the same, linking changes nothing about your picture.
It is still worth doing for everything else it unlocks, but not for this.

Social login is whatever you signed in with

If you created your account with “Continue with Google”, that account
already has a picture attached, and WPFolks can see it. Nothing to set
up and nothing to link.

It is labelled “Social login” rather than “Google” because the same
mechanism covers other providers, and the picture is whichever account
you actually used.

WPFolks profile picture

2. Choosing which one shows

Go to Settings → Profile, at wpfolks.org/settings/?tab=profile.

Every source you actually have appears as a card with a preview of the
real picture, so you are choosing between images rather than labels.
Pick one, save, done.

Sources you do not have are not shown. If you only have a Gravatar,
there is nothing to choose between and no picker appears. Once you
upload something or link WordPress.org, the picker shows up with both.

Two behaviours worth knowing, because they are the ones that surprise
people:

Your choice survives losing the source. If you pick your Google
picture and later unlink Google, you do not lose your photo and you do
not get a broken image. WPFolks falls through to the next source you
have. Your preference is remembered, so if you relink Google later, your
choice comes back without you touching anything.

Uploading selects the upload. You do not have to upload and then
separately pick it. That would read as the upload not having worked.


3. Uploading your own

The upload sits under the picker. Choose a file and a crop window opens.

Drag to move, slider to zoom. The crop area is circular because every
avatar on WPFolks renders round. Showing you a square and then clipping
it to a circle afterwards is how people end up with the top of their head
cut off.

It opens framed the way the server would have cropped it anyway, so if
you are happy with that, just confirm.

The rules: JPG, PNG, GIF or WebP, under 5 MB. Square works best.
Anything else is cropped to a square, up to 512 pixels.

If the crop tool does not appear, your upload still works. The server
crops to a centred square regardless. You lose the ability to choose the
framing, not the ability to have a picture. That is deliberate: a crop
tool should never be the thing standing between you and a profile photo.

Re-uploading replaces. The previous file is deleted rather than
accumulating in the background.

Removing falls back. Delete your upload and WPFolks drops to the next
source you have, or to your initials. You cannot end up with nothing.

WPFolks profile picture crop panel

4. The initials fallback

If you have no photo from any of the four sources, WPFolks draws your
initials on a coloured background. The colour is derived from your name,
so it is stable: it does not change between page loads, and it is not
random.

WPFolks folks listing

This is not a placeholder waiting to be replaced. It is a legitimate
final state, and plenty of folks will stay on it. It exists so that
“no photo” never means “empty grey circle”, which is what it used to
mean and what made the directory look dead.


5. Where your picture appears

Whatever you choose is used consistently:

  • The folks directory at /folks/
  • Your profile at /folk/{your-username}/
  • The community feed, on your posts and replies
  • The leaderboard
  • Comments and contributor credits
  • Plugin, theme and repo listings you are attributed on
  • The weekly digest email

There is no separate avatar for any of these. One choice, everywhere.

A privacy note

Gravatar images are downloaded and served from WPFolks, not hotlinked
from gravatar.com. That was done for privacy rather than performance: if
your browser fetched them directly, gravatar.com would receive the IP
address of everyone who ever loaded a page with your face on it. Your
picture is refreshed from Gravatar weekly, so an update there reaches
WPFolks on its own.


6. When the wrong picture shows

I updated my Gravatar and WPFolks still shows the old one.
The refresh runs weekly. Use the Refresh button in the Profile Photo
panel to pull it immediately.

I set up a Gravatar and nothing appeared.
Check the email. A Gravatar is tied to a specific address, and WPFolks
checks the one you sign in with. If you set it up on a different address,
either add that address to your Gravatar account or link the WordPress.org
account it belongs to.

I linked WordPress.org and nothing changed.
Most likely both accounts use the same email, so there was nothing new to
find. If your .org profile does show a photo and WPFolks does not, the
sync may not have run yet.

My upload is not showing.
Check the picker. If the upload card is there but not selected, select it
and save. If the card is missing entirely, the upload did not complete,
usually because the file was over 5 MB or was not one of the four
supported formats.

I see initials and I know I have a Gravatar.
That means the check ran and found nothing for your sign-in address. The
usual cause is the email mismatch above. The Refresh button forces
another look.


7. The bug that started all this

Worth writing down, because it is a good lesson and it went unnoticed for
months.

Anyone who linked a WordPress.org account had a URL cached against their
profile ending in d=mp. That is Gravatar’s “mystery person” parameter.
It tells Gravatar: if this email has no picture, send the grey silhouette
instead of an error.

The problem is that it always succeeds. There is no such thing as a
missing image once you ask for d=mp. So the code that was supposed to
notice “this person has no picture, draw their initials” could never run,
because as far as the system was concerned the picture was there and
loading fine.

Every one of those folks had been staring at a grey blob that WPFolks
considered a success.

The fix is one character of intent: ask with d=404 instead. That is the
only setting where Gravatar will admit an email has no picture, which is
the answer you need before you can fall back to anything better.

The lesson I took from it: a fallback you never see run is not a
fallback, it is an assumption. If you have a default that is supposed to
catch an empty state, make sure something can actually produce that empty
state.


8. Questions I keep getting asked

Do I have to set anything up?
No. If you have a Gravatar or signed in with Google, your picture is
already there. If not, your initials are, and that is a fine place to
stay.

Can I use a different picture in different places?
No, and deliberately. One picture everywhere is how folks recognise each
other across the directory, the feed and the leaderboard.

Does uploading mean you own my photo?
No. It is stored so it can be served on your profile, and deleting it
deletes the file.

Why is my picture square in some places and round in others?
It is always stored square and displayed round. Card layouts and the
avatar frames both clip to a circle, which is why the crop tool shows you
a circle.

I do not want a picture at all.
Then do nothing. Initials are a real option, not a broken state.

Can I use an animated GIF?
You can upload one, but it is cropped and resized, which flattens it to a
still image.


One more thing

If your profile still shows initials and you would rather it did not, the
fastest fix is almost always the smallest one: check which email your
Gravatar is attached to, and check which email you sign in to WPFolks
with. When those two differ, everything else looks broken for a reason
that has nothing to do with you.

Set your profile picture
or browse the folks directory to see how
it looks alongside everyone else.


Something in here not matching what you are seeing? Reply to this post
or email me at hello@wpfolks.org. I read everything.