PHPackages                             amphibee/thumbnail-on-demand - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. amphibee/thumbnail-on-demand

ActiveWordpress-plugin[Image &amp; Media](/categories/media)

amphibee/thumbnail-on-demand
============================

Generate thumbnails on demand

1.3.4(2y ago)3741[1 PRs](https://github.com/AmphiBee/Thumbnail-On-Demand/pulls)GPL-3.0-or-laterPHPPHP &gt;=8.0

Since Dec 19Pushed 1y ago2 watchersCompare

[ Source](https://github.com/AmphiBee/Thumbnail-On-Demand)[ Packagist](https://packagist.org/packages/amphibee/thumbnail-on-demand)[ RSS](/packages/amphibee-thumbnail-on-demand/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (12)Used By (0)

Thumbnail On Demand
===================

[](#thumbnail-on-demand)

- [EN](#en)
- [FR](#fr)

EN
--

[](#en)

Thumbnail On Demand is a WordPress plugin designed to better control image thumbnail generation and generate them on-the-fly. This plugin optimizes the management of thumbnails by generating only those that are truly necessary, thus reducing server resource consumption and storage space usage.

### How it works

[](#how-it-works)

The plugin intercepts thumbnail requests for images and generates the required sizes on-the-fly if they don't already exist. It also allows you to define your own image resizing class by implementing the ImageResizerInterface and defining the IMAGE\_RESIZER\_CLASS constant.

#### Customizing the image resizing class

[](#customizing-the-image-resizing-class)

To use your own image resizing class, define the `IMAGE_RESIZER_CLASS` constant in your `wp-config.php` file or in a custom plugin:

```
define('IMAGE_RESIZER_CLASS', 'MyCustomImageResizer');
```

Your custom class should implement the `AmphiBee\ThumbnailOnDemand\Contracts\ImageResizerInterface` and define the `resize()` method.

#### Available filters

[](#available-filters)

The plugin provides two filters to customize the automatically generated thumbnail sizes.

`tod/include_thumbnail_sizes` This filter allows you to include specific thumbnail sizes that will be automatically generated when an image is uploaded. By default, no sizes are included.

##### Example usage:

[](#example-usage)

```
add_filter('tod/include_thumbnail_sizes', function ($sizes) {
return ['medium', 'large'];
});
```

`tod/exclude_thumbnail_sizes` This filter allows you to exclude specific thumbnail sizes that will not be automatically generated when an image is uploaded. By default, all registered sizes are excluded.

##### Example usage:

[](#example-usage-1)

```
add_filter('tod/exclude_thumbnail_sizes', function ($sizes) {
return ['small', 'thumbnail'];
});
```

### License

[](#license)

The Thumbnail On Demand plugin is released under the GPL-3.0-or-later license.

FR
--

[](#fr)

Thumbnail On Demand est une extension WordPress permettant de mieux contrôler la génération de miniatures d'images et de les générer à la volée. Cette extension optimise la gestion des miniatures en ne générant que celles qui sont réellement nécessaires, réduisant ainsi la consommation de ressources serveur et d'espace de stockage.

### Fonctionnement

[](#fonctionnement)

L'extension intercepte les demandes de miniatures pour les images et génère les tailles requises à la volée si elles n'existent pas déjà. Elle permet également de définir sa propre classe de redimensionnement d'image en implémentant l'interface ImageResizerInterface et en définissant la constante IMAGE\_RESIZER\_CLASS.

#### Personnaliser la classe de redimensionnement d'image

[](#personnaliser-la-classe-de-redimensionnement-dimage)

Pour utiliser votre propre classe de redimensionnement d'image, définissez la constante `IMAGE_RESIZER_CLASS` dans votre fichier `wp-config.php` ou dans un plugin personnalisé :

```
define('IMAGE_RESIZER_CLASS', 'MyCustomImageResizer');
```

Votre classe personnalisée doit implémenter l'interface `AmphiBee\ThumbnailOnDemand\Contracts\ImageResizerInterface` et définir la méthode `resize()`.

#### Filtres disponibles

[](#filtres-disponibles)

L'extension met à disposition deux filtres pour personnaliser les tailles de miniatures générées automatiquement.

`tod/include_thumbnail_sizes` Ce filtre vous permet d'inclure des tailles de miniatures spécifiques qui seront générées automatiquement lors de l'upload d'une image. Par défaut, aucune taille n'est incluse.

##### Exemple d'utilisation :

[](#exemple-dutilisation-)

```
add_filter('tod/include_thumbnail_sizes', function ($sizes) {
return ['medium', 'large'];
});
```

`tod/exclude_thumbnail_sizes` Ce filtre vous permet d'exclure des tailles de miniatures spécifiques qui ne seront pas générées automatiquement lors de l'upload d'une image. Par défaut, toutes les tailles enregistrées sont exclues.

##### Exemple d'utilisation :

[](#exemple-dutilisation--1)

```
add_filter('tod/exclude_thumbnail_sizes', function ($sizes) {
return ['small', 'thumbnail'];
});
```

### Licence

[](#licence)

L'extension Thumbnail On Demand est publiée sous licence GPL-3.0-or-later.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~60 days

Recently: every ~30 days

Total

8

Last Release

817d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8435080f3e74b629258f291a62cb72aa9d63ee44d74e588f594dc6378c328fa2?d=identicon)[amphibee](/maintainers/amphibee)

---

Top Contributors

[![ogorzalka](https://avatars.githubusercontent.com/u/149651?v=4)](https://github.com/ogorzalka "ogorzalka (18 commits)")[![chermant](https://avatars.githubusercontent.com/u/92034659?v=4)](https://github.com/chermant "chermant (1 commits)")[![deepsource-io[bot]](https://avatars.githubusercontent.com/in/16372?v=4)](https://github.com/deepsource-io[bot] "deepsource-io[bot] (1 commits)")

### Embed Badge

![Health badge](/badges/amphibee-thumbnail-on-demand/health.svg)

```
[![Health](https://phpackages.com/badges/amphibee-thumbnail-on-demand/health.svg)](https://phpackages.com/packages/amphibee-thumbnail-on-demand)
```

###  Alternatives

[finller/laravel-media

A flexible media library for Laravel

472.1k](/packages/finller-laravel-media)[webplusm/gallery-json-media

a filament media storing in a Json field

196.0k](/packages/webplusm-gallery-json-media)[elegantly/laravel-media

A flexible media library for Laravel

474.9k2](/packages/elegantly-laravel-media)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
