image-blur icon indicating copy to clipboard operation
image-blur copied to clipboard

Wordpress plugin that generates blurred versions of uploaded images

=== Image Blur === Generates base64 encoded, downscaled and blurred versions of media library's images, which can be used f.e. as a placeholder.

== Inspiration == After Wolt showcased their Blurhash technique, I wanted to make something similar to Wordpress. Instead of encoding images to base83 like the food delivery company does, I went with base64 so development experience was easier.

== How to start using the plugin ==

  • Install and activate this plugin in your environment
    • The plugin should generate blurs for each image on the activation.
  • Check an image's details in your media library. It should have listing of all generated blurs.
  • To get a blur to a template, use get_post_meta(). Check example theme in plugin's repository

== Frequently Asked Questions ==

= How to generate blurs for new image sizes? =

To regenerate blurs you can:

  • use f.e. Regenerate Thumbnails plugin
  • use WP CLI if your environment has it installed.
  • reactive this plugin (not recommended on high traffic sites)

= How do I clear DB from blur data? =

This plugin cleans up generated blurs when it is deactivated.

For manual deletion, you can remove all rows from wp_postmeta table that have image_blur_ prefix in meta_key column.

= Which image formats are supported? =

During development phase, this plugin was tested with .jpg, .jpeg, .gif, .png and .webp, which are the default accepted image types to media library.

== Customization ==

The plugin provides few filters, so developers can modify generated blur images to their needs. By default, generated images are 8 pixels wide and passed once through gaussian blur function, which will result in roughly 250-1000 characters long string. To change these, use following hooks:

` function modify_image_blur_width( int $width ): int { return 15; } add_filter("image-blur-modify-width", "modify_image_blur_width");

function modify_gaussian_blur_strength( int $strength ): int { return 10; } add_filter("image-blur-modify-gaussian-blur-strength", "modify_gaussian_blur_strength"); `

== Changelog ==

= 1.0.0 (2021-11-30): =

  • Initial release

= 1.0.1 (2021-11-30): =

  • Remove development related files from plugin directory

= 1.1.0 (2021-12-02): =

  • Add CDN support

= 1.2.0 (2022-01-10): =

  • Add example script to support WPGraphQL plugin

= 1.2.1 (2022-01-28): =

  • Update tested up to version to 5.9

= 1.2.2 (2022-02-28): =

  • Fix the issue when the plugin is accidentally included to environment through mu-plugins and plugins.

= 2.0.0 (2023-01-26): =

  • Test and confirm that plugin works with PHP 8.0 and WP 6.1.1. Update requires to meet these versions.

= 2.0.1 (2023-07-26): =

  • Test and confirm that plugin works with PHP 8.1 and WP 6.3.

= 3.0.0 (2024-01-15): =

  • Rewrite core to be more simpler.
  • Test and confirm that plugin works with PHP 8.2 and WP 6.4.2.
  • Test and confirm that plugin work with WP GraphQL plugin 1.19.0.

= 3.0.1 (2024-01-15): =

  • Remove redundant some files and folders from production package.

= 3.0.2 (2024-01-15): =