#31228 closed defect (bug) (invalid)
The "+" character in add_image_size breaks wp_get_attachment_image
Reported by: | ashorlivs | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 4.1 |
Component: | Media | Keywords: | reporter-feedback |
Focuses: | Cc: |
Description
If one adds an image size which name contains the "+" character, wp_get_attachment_image will return de base image instead of the resized image.
var_dump( wp_get_attachment_image( $attachment_id, 'full'); // ... /elaenia.jpg (1200 × 797) add_image_size( 'test + image', 121, 135, true ); var_dump( wp_get_attachment_image( $attachment_id, 'test + image'); // ... /elaenia.jpg (1200 × 797) add_image_size( 'test - image', 121, 135, true ); var_dump( wp_get_attachment_image( $attachment_id, 'test - image'); // ... /elaenia-121x135.jpg (121 x 135)
Tested with Apache 2.4 in WP 4.1.
Simply changing "+" with another character solves the issue.
Change History (5)
#2
@
10 years ago
Hi Joe,
here's a dump:
array(5) { ["width"]=> int(500) ["height"]=> int(481) ["file"]=> string(45) "2015/02/4b678e6675f1613431a876086766d29a.jpeg" ["sizes"]=> array(27) { ["thumbnail"]=> array(4) { ["file"]=> string(45) "4b678e6675f1613431a876086766d29a-150x150.jpeg" ["width"]=> int(150) ["height"]=> int(150) ["mime-type"]=> string(10) "image/jpeg" } ["medium"]=> array(4) { ["file"]=> string(45) "4b678e6675f1613431a876086766d29a-300x289.jpeg" ["width"]=> int(300) ["height"]=> int(289) ["mime-type"]=> string(10) "image/jpeg" } ["News - Bloc 2 - Full image"]=> array(4) { ["file"]=> string(45) "4b678e6675f1613431a876086766d29a-319x135.jpeg" ["width"]=> int(319) ["height"]=> int(135) ["mime-type"]=> string(10) "image/jpeg" } ["News - Bloc 2 - Image et texte"]=> array(4) { ["file"]=> string(44) "4b678e6675f1613431a876086766d29a-92x135.jpeg" ["width"]=> int(92) ["height"]=> int(135) ["mime-type"]=> string(10) "image/jpeg" } ["News - Bloc 2 - Image + texte"]=> array(4) { ["file"]=> string(37) "4b678e6675f1613431a876086766d29a.jpeg" ["width"]=> int(500) ["height"]=> int(841) ["mime-type"]=> string(10) "image/jpeg" } } ["image_meta"]=> array(11) { ["aperture"]=> int(0) ["credit"]=> string(0) "" ["camera"]=> string(0) "" ["caption"]=> string(0) "" ["created_timestamp"]=> int(0) ["copyright"]=> string(0) "" ["focal_length"]=> int(0) ["iso"]=> int(0) ["shutter_speed"]=> int(0) ["title"]=> string(0) "" ["orientation"]=> int(0) } }
Same with:
var_dump( wp_get_attachment_image_src( 594, 'News - Bloc 2 - Image + texte'));
My add_image_size
are placed in a custom plugin instead of a theme, and I'm using the Advanced Custom Forms plugin. Hope it helps!
#3
@
10 years ago
It looks like WordPress is saving the data for the custom size named 'News - Bloc 2 - Image + texte', but the file name is incorrect. I'm not able to reproduce this problem using the same size name so it may be a problem with your setup.
Can you try reproducing the same error using a default theme with plugins turned off by placing the add_image_size()
function in your functions.php file? If you upload the image directly into the media library and the problem goes away, it's likely to be a bug in your plugin or in ACF. If the problem persists, then we can dig further.
#4
@
10 years ago
- Keywords close added
- Resolution set to invalid
- Status changed from new to closed
Fresh install with no plugin and theme 2015 is fine with add_image_size('News - Bloc 2 - Image + texte', 250)
.
I had no idea this problem could come from a plugin since I thought resizing and outputing was native and unaltered by external code.
Sorry for the false flag, thanks for your help anyway @joemcgill !
Hi ashorlivs,
I can't reproduce this error on WP 4.1. Can you try dumping the metadata for an image you upload after adding the image sizes? Something like this:
You should see an array of sizes available for the image by passing the image's ID to
wp_get_attachment_metadat()
. One of them should look something like this: