Subscriber Avatars
Subscribers on the built-in membership system can upload a profile picture that appears throughout the Benecaster experience. Avatars are stored as standard WordPress media library attachments tied to the subscriber’s user account.
Uploading an Avatar
The Profile picture block appears at the top of the subscriber account page, above the subscription cards. To upload:
- Click Upload photo (or drag a file onto the upload area)
- Position the image inside the square crop preview
- Click Save to confirm
Constraints:
- File types: JPEG, PNG, or WebP
- Max size: 2 MB
- Crop: Square — the UI enforces this at upload time
If the subscriber already has an avatar, uploading a new one replaces it. The previous attachment is deleted from the media library immediately after the new one is confirmed.
Removing an Avatar
The subscriber can click Remove photo to delete their current avatar. A confirmation prompt appears before deletion. Once removed:
- The avatar is permanently deleted from the WordPress media library
- The subscriber’s account page reverts to the standard WordPress avatar (Gravatar, if enabled site-wide, or a generated initial if Gravatar is off)
Where Avatars Appear
Uploaded avatars display in the following places:
- Subscriber account page — profile picture block at the top of the page
- Admin Subscribers list — a 32px round thumbnail to the left of the subscriber’s name; falls back to a capitalized initial when no avatar is set
- Supporter Wall — if the subscriber opts in and the wall is enabled for the show (see Supporter Wall)
- WordPress and BuddyPress avatar hooks — Benecaster replaces the standard
get_avataroutput with the subscriber’s uploaded image, so forum plugins (bbPress, BuddyPress) and themes that render user avatars pick it up automatically
Disabling Avatars Site-Wide
Go to Benecaster → Settings → Memberships → Avatars and toggle Enable subscriber avatars off to disable the feature across your site.
When avatars are disabled:
- The upload block no longer appears on the account page
- Benecaster stops intercepting avatar output (Gravatar or the WordPress default resumes)
- Existing uploads and user meta are preserved — re-enabling the setting restores all subscriber avatars without re-upload
Privacy
Subscriber avatars are stored in your WordPress media library. They are not inherently public — they only display on public surfaces (such as the Supporter Wall) when the subscriber explicitly opts in.
When the Supporter Wall is active on any of the subscriber’s shows, the upload UI shows a notice: “Your avatar will be visible on the Supporter Wall.” The subscriber can opt out of the wall at any time from their account page without removing their avatar.
For Developers
benecaster_avatar_uploaded( int $user_id, int $attachment_id )— fires after a successful upload. Use to invalidate cached avatar URLs or sync to external systems.benecaster_avatar_deleted( int $user_id, int $attachment_id )— fires when a subscriber removes their avatar. Does not fire for idempotent deletes (no avatar was set).benecaster_avatar_fallback( ?string $url, int $user_id )— filter that runs when a subscriber has no avatar and site-wide Gravatar is disabled. Return a URL string (e.g. a generated initials image) to substitute, or null to let WordPress use its default.
See AvatarManager for the class reference, and REST API — Account Avatar for the upload and delete endpoint specs.