Adds an avatar upload field to user profiles if the current user has media permissions. Generates requested sizes on demand just like Gravatar! Simple and lightweight.
Just edit a user profile, and scroll down to the new “Avatar” field. The plug-in will take care of cropping and sizing!
- Stores avatars in the “uploads” folder where all of your other media is kept
- Has a simple, native interface
- Fully supports Gravatar and default avatars if no local avatar is set for the user – but also allows you turn off Gravatar
- Generates the requested avatar size on demand (and stores the new size for efficiency), so it looks great, just like Gravatar!
- Lets you decide whether lower privilege users (subscribers, contributors) can upload their own avatar
- Enables rating of local avatars, just like Gravatar
- Install easily with the WordPress plugin control panel or manually download the plugin and upload the extracted folder to the
- Activate the plugin through the ‘Plugins’ menu in WordPress
- If you only want users with file upload capabilities to upload avatars, check the applicable option under Settings > Discussion
- Start uploading avatars by editing user profiles!
Use avatars in your theme using WordPress’ built in
get_avatar() function: https://codex.wordpress.org/Function_Reference/get_avatar
You can also use
get_simple_local_avatar() (with the same arguments) to retreive local avatars a bit faster, but this will make your theme dependent on this plug-in.
Contributors & Developers
“Simple Local Avatars” is open source software. The following people have contributed to this plugin.Contributors
2.6.0 – 2022-09-13
Note that this release bumps the minimum required version of WordPress from 4.6 to 5.7 and PHP from 5.6 to 7.4.
- Added: If a default avatar image is used, ensure that outputs alt text. This will either be default text (Avatar photo) or the alt text from the uploaded default image (props @dkotter, @faisal-alvi via #147)
- Added: Two hooks,
simple_local_avatar_deleted, (props @t-lock, @faisal-alvi, @dkotter via #149)
- Changed: Bump minimum required version of WordPress from 4.6 to 5.7 (props @vikrampm1, @faisal-alvi, @cadic via #143).
- Changed: Bump minimum required version of PHP from 5.6 to 7.4 (props @vikrampm1, @faisal-alvi, @cadic via #143).
- Changed:The plugin is now available via Composer without any additional steps required (props @faisal-alvi, @kovshenin, @jeffpaul via #145)
- Security: Bump
terserfrom 5.14.1 to 5.14.2 (props @dependabot, @faisal-alvi via #142)
2.5.0 – 2022-06-24
- Added: Skip cropping button (props @dkotter, @faisal-alvi, @cadic, @jeffpaul, @dinhtungdu via #130)!
- Added: Updated the button name from “Skip Crop” to “Default Crop” only on the edit profile page (props @faisal-alvi, @peterwilsoncc via #136).
- Added: If an image used for a local avatar has alt text assigned, ensure that alt text is used when rendering the image (props @dkotter, @pixelloop, @faisal-alvi via #127).
- Added: Support for bbPress by loading the JS at FE on the profile edit page (props @foliovision, @faisal-alvi, @iamdharmesh via #134).
- Added: Cypress E2E tests (props @faisal-alvi, @vikrampm1, @Sidsector9 via #115).
- Fixed: Broken avatar URLs for network-configured shared avatars with non-standard thumbnail sizes (props @vladolaru, @faisal-alvi via #125).
HTTP_REFERERis null and causing PHP warning (props @alireza-salehi, @faisal-alvi, @peterwilsoncc via #129).
2.4.0 – 2022-05-10
- Added: Ability to set a default avatar. (props @mehulkaklotar, @jeffpaul, @dinhtungdu, @faisal-alvi via #96).
- Fixed: Correct plugin name in changelog. (props @grappler, @jeffpaul via #117).
- Fixed: Avatar cache not being cleared. (props @thefrosty, @jeffpaul, @faisal-alvi, @peterwilsoncc via #118 & #120).
- Security: Dev dependency
@wordpress/scriptsupgraded to resolve deeper level dependency security issues. (props @jeffpaul, @faisal-alvi, @cadic via #119).
2.3.0 – 2022-04-25
- Added: Crop screen (props @jeffpaul, @helen, @ajmaurya99, @Antonio-Lagun, @faisal-alvi).
- Added: Avatar preview for Subscribers (props @ankitguptaindia, @dinhtungdu, @dkotter).
- Added: More robust multisite support and shared avatar setting (props @adamsilverstein, @helen, @jeffpaul, @dkotter, @faisal-alvi, @holle75).
- Added: Settings link to plugin action links (props @rahulsprajapati, @jeffpaul, @iamdharmesh).
- Added: Dashboard setting and WP-CLI command to migrate avatars from WP User Avatar (props @jeffpaul, @claytoncollie, @helen, @faisal-alvi).
- Added: Option to clear cache of user meta to remove image sizes that do not exist (props @jeffpaul, @ituk, @dinhtungdu, @sparkbold, @thrijith).
- Added: Package file (props @faisal-alvi, @jeffpaul, @claytoncollie, @cadic).
- Added: PHP Unit Tests (props @faisal-alvi, @iamdharmesh).
- Added: “No Response” GitHub Action (props @jeffpaul).
- Changed: Bump WordPress “tested up to” version to 5.9 (props @jeffpaul, @ankitguptaindia, @dinhtungdu, @phpbits).
- Changed: Bump WordPress “tested up to” version to 6.0 (props @ajmaurya99 via #110).
- Changed: Format admin script (props @thrijith, @dinhtungdu).
- Fixed: Media ID as string in REST API (props @diodoe, @dinhtungdu, @dkotter).
- Fixed: Avatar rating text is not translated properly if a user has a custom language Set (props @ActuallyConnor, @faisal-alvi).
- Security: PHP 8 compatibility (props @faisal-alvi, @dkotter, @Sidsector9).
- Security: Bump
rmccue/requestsfrom 1.7.0 to 1.8.0 (props dependabot@).
- Security: Bump
nanoidfrom 3.1.28 to 3.2.0 (props dependabot@).
- Security: Bump
minimistfrom 1.2.5 to 1.2.6 (props dependabot@).
2.2.0 – 2020-10-27
get_simple_local_avatarfunction (props @dinhtungdu, @heyjones, @dkotter, @sumnercreations, @dshanske).
Simple_Local_Avatars::get_default_avatar_url()methods (props @dinhtungdu, @heyjones, @dkotter, @sumnercreations, @dshanske).
- Added: Ability to retrieve avatar with
WP_Postobject (props @oscarssanchez, @blobaugh).
- Added: class and ID to Avatar section on Profile Page to allow easier styling (props @dinhtungdu).
- Added: WP Acceptance test coverage (props @dinhtungdu).
- Changed: Switched to
pre_get_avatar_datafilter (props @dinhtungdu, @heyjones, @dkotter, @sumnercreations, @dshanske).
assign_new_user_avatarfunction to public (props @tripflex).
- Changed: Split the main class into its own file, added unit tests, and set up testing GitHub action (props @dinhtungdu, @helen, @stevegrunwell).
- Changed: New plugin banner and icon (props @JackieKjome).
- Changed: Bump WordPress version “tested up to” 5.5 (props @Waka867, @tmoorewp, @jeffpaul, @dinhtungdu).
- Changed: GitHub Actions from HCL to YAML workflow syntax (props @jeffpaul).
- Changed: Documentation updates (props @jeffpaul).
- Fixed: Initialize
$simple_local_avatarsglobal, enabling bundling plugin with composer (props @pauldewouters, @adamsilverstein).
get_avatarfunction that overrides the core function (props @dinhtungdu, @heyjones, @dkotter, @sumnercreations, @dshanske).
2.1.1 – 2019-05-07
- Fixed: Do not delete avatars just because they don’t exist on the local filesystem. This was occasionally dumping avatars when WordPress uploads were stored elsewhere, e.g. a cloud service.
2.1 – 2018-10-24
- New: All avatar uploads now go into the media library. Don’t worry – users without the ability to upload files cannot otherwise see the contents of your media library. This allows local avatars to respect other functionality your site may have around uploaded images, such as external hosting.
- New: REST API support for getting and updating.
- New: Use .org language packs rather than bundling translations.
- Fixed: Avoid an
- Fixed: A couple of internationalization issues.
2.0 – 2013-06-02
- Choose or upload an avatar from the media library (for users with appropriate capabilities)!
- Local avatars are rated for appropriateness, just like Gravatar
- A new setting under Discussion enables administrators to turn off Gravatar (only use local avatars)
- Delete the local avatar with a single button click (like everywhere else in WordPress)
- Uploaded avatar file names are appended with the timestamp, addressing browser image caching issues
- New developer filter for preventing automatic rescaling: simple_local_avatars_dynamic_resize
- New developer filter for limiting upload size: simple_local_avatars_upload_limit
- Upgraded functions deprecated since WordPress 3.5
- Fixed translations not working on front end (although translations are now a bit out of date…)
- Hungarian translation added (needs further updating again with new version)
- Assorted refactoring / improvements under the hood
1.3.1 – 2011-12-29
- Brazilian Portuguese and Belarusian translations
- Bug fixes (most notably correct naming of image files based on user display name)
- Optimization for WordPress 3.2 / 3.3 (substitutes deprecated function)
1.3 – 2011-09-22
- Avatar file name saved as “user-display-name_avatar” (or other image extension)
- Russian localization added
- Assorted minor code optimizations
1.2.4 – 2011-07-02
- Support for front end avatar uploads (e.g. Theme My Profile)
1.2.3 – 2011-04-04
- Russian localization
1.2.2 – 2011-03-25
- Fix for avatars uploaded pre-1.2.1 having a broken path after upgrade
1.2.1 – 2011-01-26
- French localization
- Simplify uninstall code
1.2 – 2011-01-26
- Fix path issues on some IIS servers (resulting in missing avatar images)
- Fix rare uninstall issues related to deleted avatars
- Spanish localization
- Other minor under the hood optimizations
1.1.3 – 2011-01-20
- Properly deletes old avatars upon changing avatar
- Fixes “foreach” warning in debug mode when updating avatar image
1.1.2 – 2011-01-18
- Norwegian localization
1.1.1 – 2011-01-18
- Italian localization
1.1 – 2011-01-18
- All users (regardless of capabilities) can upload avatars by default. To limit avatar uploading to users with upload files capabilities (Authors and above), check the applicable option under Settings > Discussion. This was the default behavior in 1.0.
- Localization support; German included
1.0 – 2011-01-18
- Initial release.