Hook: media.delete.should
Last updated on May 17, 2026 17:57
Overview
Type: Filter
Location: app/Services/MediaService.php
Gate filter that controls whether a media file can be deleted. Return false to prevent deletion. Useful for protecting files referenced by critical settings (logos, favicons).
Parameters
| Param | Type | Description |
|---|---|---|
$shouldDelete |
bool | Current permission (default: true) |
$media |
Media | Media record being deleted |
Return
Must return bool.
Usage Example
Hook::addFilter('media.delete.should', function (bool $allow, $media) {
$logo = get_option('site_logo', null, 'general');
return ($media->url === $logo) ? false : $allow;
});