You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As reported in #237, the changes made in #216 are causing issues for anyone using the wp_get_attachment_image function to output SVGs. As described in that Issue, we need to be smarter in how we determine the height and width attributes to use instead of just relying on the dimensions for each registered size (since SVGs don't get cropped the same as normal images by WordPress).
This PR reverts the changes introduced in #216 and also adds some additional E2E tests to help us catch these sorts of issues in the future.
Note there is additional work we could look to do here, both fixing what we were attempting to do in #216 and being smarter with how we determine the SVG sizes, as described in this comment.
Ensure general functionality of the plugin still works as expected (you can upload svgs, you can add those into content, etc)
Also modify your theme to directly output svgs using wp_get_attachment_image and ensure that no matter what image size you pass in, the full SVG dimensions are used instead (which is previous behavior)
Changelog Entry
Fixed - Revert changes made to how we determine custom dimensions for svgs
This reverts the changes made in #216 and brings back the functionality for wp_get_attachment_image. In testing with get_image_tag though, that doesn't seem to be working as expected anymore, though seems that's a WordPress core issue and not something we changed (I tested Safe SVG back to 2.0.0 and got the same results).
Basically that function is using the dimensions of the image size passed in instead of the SVG dimensions (basically functions the way wp_get_attachment_image did after the changes in #216, which we're reverting here). Don't need to hold up this PR for that but we should open a new issue to investigate what needs to change to ensure get_image_tag outputs SVGs as expected. Seems the problem lies in our code that looks for height and width set to 1 and replaces those with the custom size. WordPress isn't setting those to 1 anymore so that replacement doesn't work.
I've added E2E tests in this PR for both wp_get_attachment_image and get_image_tag but the get_image_tag ones, while they pass, aren't getting the height and width attributes I'd expect, so once that issue gets fixed, those tests should fail (which is good in this case) and we can fix the tests at that point.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of the Change
As reported in #237, the changes made in #216 are causing issues for anyone using the
wp_get_attachment_imagefunction to output SVGs. As described in that Issue, we need to be smarter in how we determine the height and width attributes to use instead of just relying on the dimensions for each registered size (since SVGs don't get cropped the same as normal images by WordPress).This PR reverts the changes introduced in #216 and also adds some additional E2E tests to help us catch these sorts of issues in the future.
Note there is additional work we could look to do here, both fixing what we were attempting to do in #216 and being smarter with how we determine the SVG sizes, as described in this comment.
Closes #237
How to test the Change
wp_get_attachment_imageand ensure that no matter what image size you pass in, the full SVG dimensions are used instead (which is previous behavior)Changelog Entry
Credits
Props @dkotter, @martinpl, @subfighter3, @smerriman, @gigatyrant
Checklist: