Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support wp_crop_image in import wxr #1357

Merged
merged 1 commit into from
May 3, 2024
Merged

Conversation

bgrgicak
Copy link
Collaborator

@bgrgicak bgrgicak commented May 2, 2024

What is this PR doing?

It adds support for wp_crop_image in the importWXR step.

What problem is it solving?

It allows cropping images during WXR imports.

How is the problem addressed?

By requiring /wp-admin/includes/image.php if wp_crop_image doesn't exist

Testing Instructions

  • Checkout this branch
  • Open this blueprint
  • Confirm that there are no PHP errors and that new posts are imported with images

image

@bgrgicak bgrgicak added [Type] Bug An existing feature does not function as intended [Feature] Import Export labels May 2, 2024
@bgrgicak bgrgicak requested a review from a team May 2, 2024 08:13
@bgrgicak bgrgicak self-assigned this May 2, 2024
@brandonpayton
Copy link
Member

I am seeing the following PHP-related error and am unsure if it is related:

[02-May-2024 17:22:47 UTC] PHP Notice:  Function wpdb::prepare was called incorrectly. Unsupported value type (object). Please see <a>Debugging in WordPress</a> for more information. (This message was added in version 4.8.2.) in /wordpress/wp-includes/functions.php on line 135

Will try to find out more.

@brandonpayton
Copy link
Member

Actually, that is a PHP notice, not an error.

Copy link
Member

@brandonpayton brandonpayton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PHP notice also appears when executing the blueprint on trunk, so it seems unrelated. This looks good!

@bgrgicak bgrgicak merged commit 3f83623 into trunk May 3, 2024
5 checks passed
@bgrgicak bgrgicak deleted the fix/import-wxr-image-crop branch May 3, 2024 04:54
bgrgicak pushed a commit that referenced this pull request Jun 2, 2024
## What is this PR doing?

Similar to #1357, but taking a deeper cut at it, as import expects to be
run within an admin interface.

## What problem is it solving?

The following fatal will be triggered:
```
PHP Fatal error:  Uncaught Error: Call to undefined function wp_read_audio_metadata() in /wordpress/wp-admin/includes/image.php:2
Stack trace:
#0 /wordpress/wp-content/plugins/WordPress-Importer-master/class-wxr-importer.php(1067): wp_generate_attachment_metadata(821, '/wordpress/wp-c...')
#1 /wordpress/wp-content/plugins/WordPress-Importer-master/class-wxr-importer.php(861): WXR_Importer->process_attachment(Array, Array, 'https://raw.git...')
#2 /wordpress/wp-content/plugins/WordPress-Importer-master/class-wxr-importer.php(383): WXR_Importer->process_post(Array, Array, Array, Array)
#3 /internal/eval.php(20): WXR_Importer->import('/tmp/import.wxr')
#4 {main}
  thrown in /wordpress/wp-admin/includes/image.php on line 2
```

Fixes #1444 (Since found this issue)

## How is the problem addressed?

Including includes/admin.php which pulls in all admin-related
functionality, rather than just the cropping functionality.

Alternatively, this could've been done by selectively importing
`includes/media.php` as well as `includes/image.php`, but I anticipate
that core is likely to include other related admin functions.

## Testing Instructions

Note: This is an untested change.

Try running
https://playground.wordpress.net/builder/builder.html#{%22preferredVersions%22:{%22php%22:%228.0%22,%22wp%22:%22latest%22},%22phpExtensionBundles%22:[%22kitchen-sink%22],%22features%22:{%22networking%22:true},%22steps%22:[{%22step%22:%22login%22,%22username%22:%22admin%22,%22password%22:%22password%22},{%22step%22:%22importWxr%22,%22file%22:{%22resource%22:%22url%22,%22url%22:%22https://raw.githubusercontent.com/WordPress/theme-test-data/try/cors-accessible-images/themeunittestdata.wordpress.xml%22}}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Import Export [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants