PHPackages                             mcaskill/wp-manual-image-crop - 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. mcaskill/wp-manual-image-crop

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

mcaskill/wp-manual-image-crop
=============================

Manually crop all image sizes registered by your WordPress theme.

02131PHP

Since Nov 5Pushed 7y ago1 watchersCompare

[ Source](https://github.com/mcaskill/wp-manual-image-crop)[ Packagist](https://packagist.org/packages/mcaskill/wp-manual-image-crop)[ RSS](/packages/mcaskill-wp-manual-image-crop/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

WP Manual Image Crop
====================

[](#wp-manual-image-crop)

The plugin is a fork of Tomasz Sita's [WP Manual Image Crop](https://github.com/tomaszsita/wp-manual-image-crop) and merges many of its pull requests and provides additional enhancements.

**WP Manual Image Crop** allows you to manually crop all the image sizes registered in your WordPress theme (in particular the featured image).

Simply click on the "Crop" link next to any image in your media library. The "lightbox" style interface will be brought up and you are ready to go. Whole cropping process is really intuitive and simple.

Apart from media library list, the plugin adds links in few more places:

- Below featured image box ("Crop featured image")
- In the media insert modal window (once you select an image)

Installation
============

[](#installation)

- Download and install using the built in WordPress plugin installer.
- Activate in the "Plugins" area of your admin by clicking the "Activate" link.
- No further setup or configuration is necessary.

API
===

[](#api)

Filters
-------

[](#filters)

The plugin includes filters that can be used by other plugins:

#### `mic_do_crop`

[](#mic_do_crop)

Provides `$do_crop` (boolean), `$metadata` (array), and `$dims` (array). Returning false for `$do_crop` will prevent Manual Image Crop from cropping the image. `$metadata` contains the crop parameters, so another plugin can take over the actual cropping.

#### `mic_dst_file_path`

[](#mic_dst_file_path)

Provides `$path` (string) and `$data` (array). Manual Image Crop will write the new image to `$path` and save that path to the image metadata. `$data` contains the crop parameters that the user chose in WordPress admin.

#### `mic_dst_file_url`

[](#mic_dst_file_url)

Provides `$url` (string) and `$data` (array). Manual Image Crop will return `$url` in an AJAX response if the image crop is successful. `$data` contains the crop parameters that the user chose in WordPress admin.

The admin screen uses this URL to display the updated image. This URL is not stored with the image or used elsewhere in WordPress. `wp_get_attachment_image_src` is used instead to generate the image URL.

Actions
-------

[](#actions)

The plugin includes actions that can be used by other plugins:

#### `mic_crop_done`

[](#mic_crop_done)

Triggered after a crop has been successfully completed, immediately before the JSON response is sent to the browser. Provides `$data` (array) and `$imageMetadata` (array).

Translations
============

[](#translations)

- Danish (Jan Francke-Larsen)
- Dutch (Bernardo Hulsman)
- French (Gabriel Féron)
- German (Bertram Greenhough)
- Hungarian (Roland Kal)
- Italian (Alessandro Curci)
- Polish (Tomasz Sita, Maciej Gryniuk)
- Russian (Andrey Hohlov)
- Slovak (Patrik Benyak)
- Spanish (Andrew Kurtis)
- Swedish (Karl Oskar Mattsson)

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor3

3 contributors hold 50%+ of commits

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0a4f39523b4b2837562ba0848a0327b8d340118d1ba87cb0f5d59b1d5cb6beba?d=identicon)[mcaskill](/maintainers/mcaskill)

---

Top Contributors

[![tomaszsita](https://avatars.githubusercontent.com/u/4963972?v=4)](https://github.com/tomaszsita "tomaszsita (23 commits)")[![mcaskill](https://avatars.githubusercontent.com/u/29353?v=4)](https://github.com/mcaskill "mcaskill (22 commits)")[![rdebeasi](https://avatars.githubusercontent.com/u/1299370?v=4)](https://github.com/rdebeasi "rdebeasi (13 commits)")[![tpow](https://avatars.githubusercontent.com/u/1170804?v=4)](https://github.com/tpow "tpow (7 commits)")[![odie2](https://avatars.githubusercontent.com/u/9401878?v=4)](https://github.com/odie2 "odie2 (6 commits)")[![jordymeow](https://avatars.githubusercontent.com/u/618388?v=4)](https://github.com/jordymeow "jordymeow (4 commits)")[![sbussetti](https://avatars.githubusercontent.com/u/913361?v=4)](https://github.com/sbussetti "sbussetti (3 commits)")[![bhulsman](https://avatars.githubusercontent.com/u/612651?v=4)](https://github.com/bhulsman "bhulsman (2 commits)")[![firejdl](https://avatars.githubusercontent.com/u/669777?v=4)](https://github.com/firejdl "firejdl (2 commits)")[![JosephSilber](https://avatars.githubusercontent.com/u/1403741?v=4)](https://github.com/JosephSilber "JosephSilber (2 commits)")[![hbrock25](https://avatars.githubusercontent.com/u/499355?v=4)](https://github.com/hbrock25 "hbrock25 (2 commits)")[![spwarner](https://avatars.githubusercontent.com/u/7016339?v=4)](https://github.com/spwarner "spwarner (2 commits)")[![andrey-hohlov](https://avatars.githubusercontent.com/u/7358151?v=4)](https://github.com/andrey-hohlov "andrey-hohlov (1 commits)")[![jfrancke](https://avatars.githubusercontent.com/u/6047968?v=4)](https://github.com/jfrancke "jfrancke (1 commits)")[![karloskar](https://avatars.githubusercontent.com/u/782033?v=4)](https://github.com/karloskar "karloskar (1 commits)")[![pato1](https://avatars.githubusercontent.com/u/1540458?v=4)](https://github.com/pato1 "pato1 (1 commits)")[![reformatco](https://avatars.githubusercontent.com/u/135673?v=4)](https://github.com/reformatco "reformatco (1 commits)")[![rolandsaven](https://avatars.githubusercontent.com/u/5774580?v=4)](https://github.com/rolandsaven "rolandsaven (1 commits)")[![jazbek](https://avatars.githubusercontent.com/u/434024?v=4)](https://github.com/jazbek "jazbek (1 commits)")

### Embed Badge

![Health badge](/badges/mcaskill-wp-manual-image-crop/health.svg)

```
[![Health](https://phpackages.com/badges/mcaskill-wp-manual-image-crop/health.svg)](https://phpackages.com/packages/mcaskill-wp-manual-image-crop)
```

###  Alternatives

[goat1000/svggraph

Generates SVG graphs

133890.0k3](/packages/goat1000-svggraph)[imagekit/imagekit

PHP library for Imagekit

46877.3k10](/packages/imagekit-imagekit)[gravatarphp/gravatar

Gravatar URL builder which is most commonly called as a Gravatar library

12644.1k2](/packages/gravatarphp-gravatar)

PHPackages © 2026

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