WordPress.org

Plugin Directory

Advanced User Avatar | Custom Profile Picture Uploader for WordPress, WooCommerce, and BuddyPress

Advanced User Avatar | Custom Profile Picture Uploader for WordPress, WooCommerce, and BuddyPress

Description

Your WooCommerce customers are faceless. Reviews come from anonymous silhouettes, the My Account dashboard greets returning shoppers with a generic placeholder, and every account in your store feels like a transaction instead of a person. Faceless reviews are trusted less, and anonymous accounts give your customers no reason to feel connected to your brand.

Advanced User Avatar gives every WooCommerce customer a real profile photo, uploaded from their device in seconds. The avatar appears in the WooCommerce My Account dashboard and on the Account Details page automatically. For BuddyPress communities, it replaces the default avatar uploader with a faster, friendlier flow. For any other WordPress site, drop the avatar uploader anywhere using a shortcode or the Gutenberg block.

Features

WooCommerce integration

  • My Account Dashboard avatar — customer’s profile photo displays on the dashboard the moment they log in
  • Account Details upload field — customers update their photo from the same page they manage their account
  • Page builder compatible — works alongside Bricks Builder and other builders without duplicate template rendering
  • Product review avatars — coming in version 2, so reviewers show as real people on product pages

BuddyPress integration

  • Replaces the default BuddyPress avatar uploader with the same upload, crop, and webcam flow used across your site
  • Displays on member profile pages and the member directory so communities feel populated by people, not placeholders

Better Messages integration

  • Custom avatars appear in the Better Messages chat interface automatically, replacing the default Gravatar with the user’s uploaded photo

Upload experience

  • Crop interface — customers position and size their photo before saving
  • Webcam capture — take a photo directly in the browser, no file needed
  • EXIF orientation handling — phone photos stay upright after cropping
  • File type validation — admin chooses which of JPG, PNG, and GIF are allowed
  • Max file size control — set the upload ceiling from settings
  • Auto-generated image sizes — multiple thumbnails created on upload for fast display everywhere

Placement options for developers and site builders

  • Shortcode: [wpmake_advance_user_avatar_upload] renders the full upload form on any page
  • Shortcode: [wpmake_advance_user_avatar] outputs the current user’s avatar
  • Gutenberg block for drag-and-drop placement in the block editor

No Gravatar, no external data sharing

Gravatar sends a hash of every visitor’s email address to an external server to fetch their photo. For EU stores and any site under GDPR scope, that third-party request is a compliance question your legal team would rather not answer. Advanced User Avatar stores every photo on your own server. No outbound requests, no hashed emails leaving your site, no third-party dependency.

Install the plugin and give your customers a face on your store.

Screenshots

Blocks

This plugin provides 1 block.

  • Advanced User Avatar This block allows user to upload their avatar

Installation

  1. Install the plugin from Plugins > Add New, or upload the zip via Plugins > Add New > Upload Plugin.
  2. Activate Advanced User Avatar through the Plugins menu in WordPress.
  3. Go to Users > User Avatar to set allowed file types, max file size, image dimensions, and toggle WooCommerce and BuddyPress integrations.
  4. Add the shortcode [wpmake_advance_user_avatar_upload] to any page, or insert the Advanced User Avatar Gutenberg block.
  5. For WooCommerce, enable the WooCommerce integration in settings — the avatar then appears in the My Account dashboard and Account Details page automatically.

FAQ

Does this plugin work with WooCommerce?

Yes. Once the WooCommerce integration is enabled in settings, the customer’s avatar appears on the My Account dashboard and an upload field is added to the Account Details page. No template editing or shortcode placement is required for the standard WooCommerce account pages.

Do my customers need a Gravatar account to use this?

No. That is the point of the plugin. Customers upload a photo directly from their device or take one with their webcam. No Gravatar account, no external sign-up, no email hashing.

Is this plugin GDPR-compliant?

Yes. Every avatar is uploaded and stored on your own server. The plugin makes no external requests to Gravatar or any other third-party service, so no customer data leaves your site to fetch profile images.

Will this work with my theme?

The plugin works with any theme that follows WordPress and WooCommerce template standards. It has been tested with Flatsome, Astra, Storefront, and Hello Elementor. Themes that heavily override the WooCommerce My Account templates may need minor adjustments.

Can I control what file types and sizes users can upload?

Yes. From Users > User Avatar, the admin chooses which of JPG, PNG, and GIF are accepted and sets the maximum upload size. Invalid uploads are rejected with a clear error message so the customer knows what to fix.

Does this replace the default BuddyPress avatar uploader?

Yes, optionally. When the BuddyPress integration is enabled, Advanced User Avatar takes over the avatar upload flow on member profile pages, giving members the same crop and webcam tools used elsewhere on the site.

Does this work with Better Messages?

Yes. Once a user uploads a custom avatar, it appears inside the Better Messages chat interface in place of the default Gravatar. No extra configuration is required.

Does this work with Bricks Builder?

Yes. The WooCommerce integration is compatible with Bricks Builder and inserts the avatar uploader and viewer without conflicting with the builder’s template rendering.

Can I display a user’s avatar somewhere custom, like an author box or sidebar?

Yes. Use the shortcode [wpmake_advance_user_avatar] to output the current user’s avatar anywhere shortcodes are supported, including widgets and page builders.

Can I change the avatar size, or the size, colour and shape of the upload button?

Yes, and no !important is needed. Every size, shape and colour is read from a CSS custom property on the widget’s container, so one rule in Appearance > Customize > Additional CSS is enough:

.wpmake-advance-user-avatar-container {
    --wpmake-aua-avatar-size: 150px;    /* avatar width/height */
    --wpmake-aua-avatar-radius: 50%;    /* round the avatar */
    --wpmake-aua-width: 100%;           /* container box */
    --wpmake-aua-height: auto;
    --wpmake-aua-padding: 0;
    --wpmake-aua-btn-primary-bg: #2f7d32;   /* Upload file button */
    --wpmake-aua-btn-primary-bg-hover: #27682a;
    --wpmake-aua-btn-padding: 6px 12px;
    --wpmake-aua-btn-font-size: 13px;
    --wpmake-aua-btn-radius: 999px;
}

The remaining properties follow the same naming: --wpmake-aua-align, --wpmake-aua-avatar-spacing, --wpmake-aua-btn-border-width, --wpmake-aua-btn-primary-color, --wpmake-aua-btn-capture-color, --wpmake-aua-btn-capture-color-hover, --wpmake-aua-btn-remove-border, --wpmake-aua-btn-remove-border-hover, --wpmake-aua-btn-remove-color and --wpmake-aua-btn-remove-bg-hover.

Can I set the size for one placement only?

Yes. Both shortcodes accept attributes: size (avatar width/height in px), radius (avatar corner radius, e.g. 50%), and class (extra class names on the container, for your own CSS). The uploader also accepts upload_text, remove_text and capture_text for the button labels.

[wpmake_advance_user_avatar size="150" radius="50%"]
[wpmake_advance_user_avatar_upload size="120" class="my-profile-avatar" upload_text="Choose a photo"]

Can I change the uploader’s markup or layout?

Yes. Copy the template you want to change out of wp-content/plugins/wpmake-advance-user-avatar/templates/ into wp-content/themes/your-theme/wpmake-advance-user-avatar/, keeping the file name, and edit your copy. The theme copy is used instead of the plugin’s and survives plugin updates.

There are also action hooks for adding markup without replacing a template: wpmake_advance_user_avatar_before_avatar, wpmake_advance_user_avatar_after_avatar, wpmake_advance_user_avatar_before_uploader, wpmake_advance_user_avatar_after_uploader, wpmake_advance_user_avatar_before_upload_buttons and wpmake_advance_user_avatar_after_upload_buttons.

Reviews

20 de noviembre de 2025
No nonsense avatar plugin. I wanted an easy block based avatar placement option and this makes it super easy. Keep the simple nature of the plugin.
Read all 5 reviews

Contributors & Developers

“Advanced User Avatar | Custom Profile Picture Uploader for WordPress, WooCommerce, and BuddyPress” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.3.0 – 29-08-2026

  • Feature – WP-Members integration: adds the avatar uploader to the WP-Members profile edit form.
  • Enhance – Templates can be overridden from the theme. Each one now resolves through yourtheme/wpmake-advance-user-avatar/, then yourtheme/, then the shipped copy, so customised markup survives an update. The theme sub-directory and the resolved path are both filterable.
  • Enhance – Six new action hooks around the markup — before and after the avatar, before and after the uploader, and before and after the uploader’s buttons — for changes that do not need a whole template override.
  • Enhance – Both shortcodes now accept attributes. size, radius and class on either, plus upload_text, remove_text and capture_text on the uploader, so a single placement can differ from the site-wide styling. The attributes were previously parsed and discarded.
  • Enhance – Frontend styles are driven by CSS custom properties on the widget container, so one low-specificity rule in Additional CSS is enough to restyle the avatar size and shape and the button colour, padding, font size and radius — no !important needed.
  • Fix – The get_avatar filter called remove_all_filters( 'get_avatar' ) and re-added only itself, discarding every other callback on the hook for the rest of the request — other plugins’ filters, and the site owner’s own snippets, silently stopped working. Replaced with a re-entrancy guard that gives the same protection without touching anyone else’s filters.
  • Fix – Removed !important from .avatar-50, .avatar-100 and .avatar-150. get_avatar() already emits matching width and height attributes, so it only served to stop the theme, and the site owner, from resizing those avatars.
  • Fix – Review notice buttons not behaving correctly.
  • Fix – Security: the accepted file types and the maximum upload size were read from the AJAX request rather than from the saved settings, so a tampered request could ignore the site owner’s limits. Both are now enforced server side.
  • Fix – Security: the upload and remove handlers were registered for logged-out visitors. A file was written and a media attachment created before the handler checked who was asking. Both now require a logged-in user.
  • Fix – Uploaded file types are validated from the file’s real contents with wp_check_filetype_and_ext() instead of trusting the extension on the supplied filename.
  • Fix – Cropping a PNG or GIF wrote JPEG data back under the original extension, losing transparency and flattening animation. Cropping now goes through WP_Image_Editor and preserves the source format.
  • Fix – Cropping a WEBP upload failed outright — the crop had no WEBP branch and fell through to the JPEG decoder.
  • Fix – Thumbnail sizes were generated from the uncropped upload. Cropping now happens before the attachment is created, so every generated size is cut from the final image.
  • Fix – A failed upload no longer leaves an orphaned file behind in the uploads directory.
  • Fix – The BuddyPress bp-disable-avatar-uploads option is only written when BuddyPress is actually installed.
  • Tweak – The avatar directory is created on activation with wp_mkdir_p() instead of a mkdir( 0777 ) attempted on every request.

1.2.2 – 30-05-2026

  • Fix – Design issue in Gutenberg block.

1.2.1 – 23-05-2026

  • Enhance – WordPress 7.0 Compatibility.
  • Tweak – Avatar uploaded success message design.
  • Fix – Avatar Uploader interface not appearing.

1.2.0 – 20-05-2026

  • Feature – Better Messages integration: custom avatars now appear in the Better Messages chat interface.
  • Fix – WooCommerce integration conflicting with Bricks Builder and other page builders due to duplicate dashboard template rendering.
  • Fix – Review notice not dismissing after clicking «Sure, I’d love to!» — the notice kept reappearing on every admin page.
  • Fix – wp_get_attachment_thumb_url() replaced with wp_get_attachment_image_url() (deprecated since WordPress 6.0).
  • Fix – date_i18n() replaced with wp_date() (deprecated since WordPress 5.3).
  • Fix – upload_dir filter was never properly removed after file upload due to an anonymous closure reference mismatch.
  • Fix – size_format() was called on an already-formatted string, producing incorrect upload limit messages.
  • Fix – remove_avatar() no longer runs when no user is logged in.
  • Fix – Removed redundant double nonce verification in AJAX upload and remove handlers.
  • Fix – maybe_later dismiss action now uses a transient; dismiss_notice() now includes a capability check.
  • Fix – Leading space typo in WPMAKE_ADVANCE_USER_AVATAR_TEMPLATE_PATH constant definition.
  • Dev – Updated minimum WordPress version requirement to 6.0.
  • Fix – join() replaced with implode() throughout (PHPCS standard).
  • Fix – $args['class'] now guarded with empty() to prevent PHP notices on non-standard calls.

1.1.2 – 15-11-2025

  • Enhance – EXIF orientation metadata support.
  • Dev – Brand Assets Updated.
  • Fix – Images rotated when cropping from mobile phones.

1.1.1 – 11-06-2025

  • Dev – WordPress 6.8 Compatibility.
  • Tweak – Plugin Name Typo.

1.1.0 – 08-03-2025

  • Feature – WooCommerce Integration.
  • Feature – BuddyPress Integration.

1.0.3 – 05-01-2025

  • Feature – Store avatar in different thumbnail sizes.
  • Feature – Allow users to use camera or webcam to capture picture.
  • Feature – Ability for site owner to change uploaded image’s width and height.
  • Tweak – Updated Readme.

1.0.2 – 21-10-2024

  • Tweak – Added a review prompt.
  • Tweak – Updated admin footer text.

1.0.1 – 21-09-2024

  • Enhance – Improved design for selecting file types in settings.
  • Enhance – Better styling for upload success and error messages.
  • Dev – Added compatibility with WordPress v6.7.
  • Dev – Updated minimum WordPress version requirement to 5.5 for better block support.

1.0.0 – 11-09-2024

  • Initial Release