Harrys Gravatar Cache

Description

Accelerates the site speed by simply and effective caching Gravatars (Globally Recognized Avatars) so that they are delivered from the own web server and do not need to be reloaded from the Gravatar server.

NEW feature: Other Avatars, e.g. from a “social login” plugin for comments are cached in version 1.3.0 and above.

NEW feature: Avatars from captured Facebook comments with a plugin like “Facebook Comments Importer” are cached in version 1.4.0 and above. The cache have to be emptied once after update.

NEW feature: Avatars from the plugin “Wapuuvatar” are cached in version 1.4.3 and above.

NEW feature: The plugin is now ready for Multisite in version 1.5.0 and above.

NEW feature: The plugin is now ready for being used with “Avatar Manager” in version 1.5.1 and above.

Features

You can:

  • change the Gravatar Size
  • change the cachetime
  • change the option how the Gravatars will be copied to your server
  • update the options depending on the server configuration
  • empty the Cache
  • get the size to use for the Gravatars from your template or set the size manually
  • You see a statistic how many files are cached and the filesizes of the files.

Translations

Harrys Gravatar Cache now supports WordPress.org language packs. Want to translate Harrys Gravatar Cache? Visit Harrys Gravatar Cache’s WordPress.org translation project.

Screenshots

  • Settings Page
  • Errorpage: Database
  • Errorpage: Cachefolder doesn't exist
  • Errorpage: Cachefolder has not the correct permissions
  • Errorpage: Cachefolder is not writeable
  • Errorpage: no Copyoption available

Installation

Just install from your WordPress “Plugins > Add New” screen and all will be well. Manual installation is very straightforward as well:

  1. Upload the zip file and unzip it in the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Go to ‘Settings > Harrys Gravatar Cache Settings’ and enable/change the options you want. Generally this means the Size of the Gravatars.

FAQ

Nothing at the moment

Installation Instructions

Just install from your WordPress “Plugins > Add New” screen and all will be well. Manual installation is very straightforward as well:

  1. Upload the zip file and unzip it in the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Go to ‘Settings > Harrys Gravatar Cache Settings’ and enable/change the options you want. Generally this means the Size of the Gravatars.

Reviews

If you care about your users, use this plugin

By default, WordPress pings gravatar for an updated image. How often do people change their image? Probably, once a month. So, one doesn’t need calls to gravatar every 5 minutes. Go ahead and install this plugin. Your visitors will be happy with the speed of your site!

Thanks Harry for your time on creating and maintaining this plugin.

Read all 4 reviews

Contributors & Developers

“Harrys Gravatar Cache” is open source software. The following people have contributed to this plugin.

Contributors

“Harrys Gravatar Cache” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “Harrys Gravatar Cache” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.7.2

  • fixed: PNGs are not always cached with imageAlphaBlending for transparency. Note: The gravatar-cache MUST be emptied once after update!

1.7.1

  • changed: “PHP file_exists” has changed to WordPress “$wp_filesystem->exists($target_file)”.
  • changed: Donate button for PayPal

1.7.0

  • changed: PNGs are now cached with compression.

1.6.1

  • fixed: Gravatars from authors not always have been cached on an authorpage that is not “in_the_loop”.

1.6.0

  • added: If a host set the permission of the cachefolder to 0775 by default, this is now supported. If the permissions are not set properly, you can choose between 0755 or 0775.

1.5.10

  • Fixed: Wrong checking if “active_theme” is correctly stored in the database -> “The plugin caused 243 characters of unexpected output during activation. If you receive error messages such as “headers already sent,” problems with the syndication of feeds, or other errors, try to disable or delete the plugin. and a WordPress database error in the logfile Database error Duplicate column name ‘active_theme’ for ALTER TABLE wp_harrys_gravatar_cache ADD active_theme TEXT NOT NULL AFTER copy of activate_plugin, do_action(‘activate_harrys-gravatar-cache/harrys-gravatar-cache.php’), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, harrys_gravatar_cache_installation, harrys_gravatar_cache_activation, get_size_gravatar_hgc when activating the plugin after it was deactivated.
  • fixed: PHP Notice: PHP Notice: Trying to get property of non-object in /[basedir]/public_html/wp-includes/comment-template.php on line … was shown on pages/posts without comments.

1.5.9

  • improved: Getting avatar size from the template.
  • fixed: Gravatars from authors are cached “in_the_loop()” when “get_the_author_meta(‘user_email’)” is used doesn’t work on post/page. *Thanks to tchibomann

1.5.8

  • fixed: Gravatars from authors are cached “in_the_loop()” when “get_userdatabylogin($author_name)” or “get_userdata(intval($author))” with “theme_locals(‘about’)” is used on a page or post doesn’t work on post/pages without an comment.

1.5.7

  • added: Gravatars from authors are cached “in_the_loop()” when “get_userdatabylogin($author_name)” or “get_userdata(intval($author))” with “theme_locals(‘about’)” is used on a page or post.
  • added: Gravatars from comments in the sidebar are cached.
  • added: More files to scan from the CherryFramework for the avatar size.
  • added: Function in the setting page to get the avatar size from template (again) if the template has been changed. The active theme is stored in the database.

1.5.6

  • fixed: Proof if the “rating” for Gravatars is set. If not set rating to “R” for getting Gravatars.
  • added: Gravatars from Twitter will be cached if a user comments with his profile from Twitter.
  • added: A fix for caching FB picture and Google picture if the same user posts comments from both accounts in the same page/post with a “social login” plugin.

1.5.5

  • fixed: One little bug with the button Try to get the Gravatar size from the template in version 1.5.4 is fixed.

1.5.4

  • fixed: PHP Error: Fatal error: Call to undefined function is_plugin_active() in /[basedir]/public_html/wp-content/plugins/harrys-gravatar-cache/harrys-gravatar-cache.php could have been shown.
  • fixed: Changing the cache time was not stored in the database
  • changed: Install and uninstall routines.
  • added: More internal options to get the Gravatar size from the used template.
  • added: Hint on the settings page if the template has changed.
  • added: If the URL sheme from the source is without http(s) the gravatars now will be chached.
  • added: german (Switzerland, Informal) translations by Pascal Krapf
  • added: german (Switzerland) translations by Pascal Krapf

1.5.3

  • fixed: PHP Notice: PHP Notice: Undefined variable: avatar_size in /[basedir]/public_html/wp-content/plugins/harrys-gravatar-cache/harrys-gravatar-cache.php on line 238 could have been shown when the plugin can’t get the Gravatar size from the template.

1.5.2

  • fixed: PHP Notice: PHP Notice: Trying to get property of non-object in /[basedir]/public_html/wp-includes/comment-template.php on line 97 could have been shown in debug.log on posts/pages without a comment.
  • fixed: PHP Notice: PHP Notice: Undefined offset: 1 in /[basedir]/public_html/wp-content/plugins/harrys-gravatar-cache/harrys-gravatar-cache.php on line 212 could have been shown when the plugin can’t get the Gravatar size from the template.
  • fixed: PHP Notice: PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /[basedir]/public_html/wp-content/plugins/harrys-gravatar-cache/harrys-gravatar-cache.php on line 220 could have been shown when the plugin can’t get the Gravatar size from the template.
  • added: Path /[path_to_template]/includes/meta.php to get the Gravatar size from the template.

1.5.1

  • fixed: Serve the Gravatars from a consistent URL if the Gravatar-images have identical contents(e.g. Standard Gravatar), but would be served from different URLs.
  • added: Support the plugin Avatar Manager to serve the uploaded Gravatar from the user.
  • fixed: The message “Header already sent” could have been there at activation.

1.5.0

  • added: multisite-ready
  • changed: Output for W3C Validator “Nu Html Checker” to avoid here the output for IE11
  • fixed: if WP_DEBUG is turned on, the following PHP notice is seen in wp-content/debug.log file: “PHP Notice: Undefined index: cache_time in /wp-content/plugins/harrys-gravatar-cache/harrys-gravatar-cache.php on line 563”
  • added: Donate buttons for PayPal and Amazon
  • update: translations

1.4.5

  • update: spanish translations by WPVerwalter
  • added: german (formal) translations by Harry Milatz
  • added: english (UK) translations by Harry Milatz
  • added: english (New Zealand) translations by Harry Milatz
  • added: english (Australia) translations by Harry Milatz
  • added: get colorspaces for IE11
  • changed: caches PNG now with imageAlphaBlending and imageSaveAlpha if the source was stored as JPG with the ending png. Note: The gravatar-cache MUST be emptied once after update!
  • changed: supressed warnings in the log when md5 can’t get the hash for an image
  • changed: Fallback if gravatar is not cached

1.4.4

  • added: Support for the “old” IE11 to the img-attribute “srcset”.
  • added: new options 1 day to 6 days for the cachetime
  • update: translations
  • change: behaviour to empty the cachefolder when saving changes

1.4.3

  • added: Caching avatars from the plugin “Wapuuvatar”.
  • added: ready for PHP 7

1.4.2

  • added: Serves now the Gravatars from a consistent URL if the Gravatar-images have identical contents(e.g. Standard Gravatar), but are served from different URLs. So this saves requests.

1.4.1

  • tweaked: Removed loading the translations for WordPress before 2.7 with $abs_rel_path.

1.4.0

  • update: Update the fix for the fallback for creating database table
  • Code cleanup for some PHP Warnings if ‘WP_DEBUG’ is set true
  • added: Caching avatars from Facebook if from there are comments captured and insert in the database with a plugin like “Facebook Comments Importer”. ** The gravatar-cache MUST be emptied once after update! **

1.3.9

  • fixed: Fallback for creating database table (in some cases the database table can not be created when the neccessary options for filling the database table could not be served)

1.3.8

  • fixed: Error changing Gravatar size manually and save this correctly.
  • added: Screenshot for error information when the database table is not filled successfully with the neccessary options.
  • added: Proof if the “rating” for Gravatars is set. If not set rating to “R” for getting Gravatars.
  • changed: proof before calling the function for caching
  • update: german and spanish translation.

1.3.7

  • fixed: Display the copy option for cUrl in the settings if cUrl is the only copy option available.
  • added: Error information when the database table is not filled successfully with the neccessary options.
  • update: german and spanish translation.
  • added: screenshots of possible errors

1.3.6

  • added: Feature to enter Gravatar size manually.
  • update: german and spanish translation.
  • changed: how to get the rating of Gravatar.

1.3.5

  • changed: the PHP functions fopen(), file_get_contents(), file_put_contents() and cUrl were changed to the “WP Filesystem” functions.
  • changed: PHP cUrl is not explicitly used anymore, it is contained in “wp_remote_fopen” and will be used if fopen won’t work.
  • Code cleanup

1.3.0

  • added: Caching of other avatars from plugins for “social login”
  • changed: Fallback to the original avatar img-tag if caching was not successful

1.2.1

  • fixed: issue with the srcset tag in mobile browsers

1.2.0

  • disable the caching function in the WordPress Backend and Frontend for logged in users with admin rights

1.1.9

  • added: filling the alt-Tag with the authorname
  • fixed: W3C HTML Validation error for srcset: “&” is now escaped;

1.1.8

  • fix: missing CSS-classes for Gravatar Hovercards in versions 1.1.6 & 1.1.7
  • added: srcset

1.1.7

  • fix: missing ID for in version 1.1.6

1.1.6

  • Statistics are only displayed when there is no error
  • fix: Issue with Gravatar Hovercards

1.1.5

  • fix errorhandling when the cache folder has not the correct permissions
  • updated: translations

1.1.4

  • change filepermission of the cached files to 0644
  • change permissions back from 0750 to 0755 for the cache folder because of on some servers the cached gravatars could not been served and get an 403 error
  • added 44px to the gravatar size

1.1.3

  • fix: error on some server configurations for the path to the cached file
  • fix: Statistics are only displayed when there is no error
  • changed how to recognize if there is an error with the method to get the Gravatar

1.1.2

  • change how to get the “wp-content/uploads” folder
  • change how to get the textdomain folder
  • change how to get the cache folder and chache folder url
  • fix database operations -> https://codex.wordpress.org/Data_Validation#Database
  • fixed: correcting german translation
  • fix an error in loading the textdomain on the settings page
  • fix an error to proof the $_POST[‘size’]

1.1.1

  • fixed: correcting translations
  • change permissions from 0755 to 0750 for the cache folder
  • added english translation

1.1

  • added: spanish translation by WPVerwalter
  • change how to load textdomain
  • change how to get the “wp-content/uploads” folder for the files

1.0

  • Release