Skip to content

Commit

Permalink
Adds readme, changes method signatures
Browse files Browse the repository at this point in the history
  • Loading branch information
James Wigger committed Sep 10, 2019
1 parent cdbf1c4 commit 23a7f9d
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
.idea
.DS_Store
vendor
81 changes: 81 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# WordPress Image Resize

WordPress can be difficult to work with when using images. Especially if you want to have multiple image sizes
available for templates, the result is either putting the resizing responsibility on end users or having an extremely
large uploads directory.

This plugin aims to solve this issue, simply and without any additional libraries. It will automatically add your custom
sizes to the Attachment meta data which means on deletion, all of the arbitrary sizes will be removed as well.

## Installation

If you are using `roots/bedrock` or a variant of this, the installation is simply to
run `composer require redfinch/redfinch-image-resize`.

To install manually go to the releases page and download the latest version. Unzip the file into your WordPress plugins
directory.

## Using the plugin

The plugin is aimed at developers and therefore there is no admin interface. The plugin exposes four main functions:

### redfinch\_resize\_image

This resizes an image proportionally to fit X and Y values.

```php
<img src="<?php echo redfinch_resize_image($attachment_id, 320, 120); ?>" />
```

### redfinch\_resize\_post\_thumbnail

This is a helper function to resize the featured image of the current post. You can optionally pass through
a `WP_Post` or post ID value as the last parameter to display the image from a specific post or page.

```php
<img src="<?php echo redfinch_resize_post_thumbnail(320, 120); ?>" />
```

### redfinch\_crop\_image

This is very similar to the `resize()` function, however it will crop the image to fit ensuring that
the image is always going to be the given dimensions.

```php
<img src="<?php echo redfinch_crop_image($attachment_id, 450, 450); ?>" />
```

### redfinch\_crop\_post\_thumbnail

Identical to `resize()`, instead ensuring the featured image is always the given dimensions. You can optionally pass through
a `WP_Post` or post ID value as the last parameter to display the image from a specific post or page.

```php
<img src="<?php echo redfinch_resize_post_thumbnail(320, 120); ?>" />
```

## Hooks

### Filters

#### redfinch\_image\_resize\_get\_path

Returns the generated path to the resized image. The value passed through is a string and
it expects a string to be returned.

#### redfinch\_image\_resize\_get\_url

Returns the generated URL to the resized image. The value passed through is a string and
it expects a string to be returned.

### Actions

#### redfinch\_image\_resize\_pre\_generate\_image

This action triggers before the `resize()` method is called on the `WP_Image_Editor` object. The single parameter
is the Image Editor instance.

#### redfinch\_image\_resize\_post\_generate\_image

This action triggers after the `resize()` method is called on the `WP_Image_Editor` object. The single parameter
is the Image Editor instance.
25 changes: 25 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "redfinch/redfinch-image-resize",
"description": "Provides simple helper functions for resizing images uploaded to WordPress",
"homepage": "https://github.com/RedFinch/WordPress-Image-Resize",
"type": "wordpress-plugin",
"license": "MIT",
"authors": [
{
"name": "James Wigger",
"email": "[email protected]",
"homepage": "https://redfinch.dev/"
}
],
"support": {
"issues": "https://github.com/RedFinch/WordPress-Image-Resize/issues",
"source": "https://github.com/RedFinch/WordPress-Image-Resize"
},
"config": {
"sort-packages": true,
"preferred-install": "dist"
},
"require": {
"php": ">=7.1"
}
}
2 changes: 1 addition & 1 deletion redfinch-image-resize.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
* @return string
* @throws \Exception
*/
function redfinchresize_image(int $attachment_id, int $width, int $height): ?string
function redfinch_resize_image(int $attachment_id, int $width, int $height): ?string
{
try {

Expand Down

0 comments on commit 23a7f9d

Please sign in to comment.