Skip to content
This repository has been archived by the owner on May 2, 2022. It is now read-only.

Cryptic errors when get_enqueue_contexts 'fails' #101

Open
NeonArray opened this issue Oct 26, 2019 · 1 comment
Open

Cryptic errors when get_enqueue_contexts 'fails' #101

NeonArray opened this issue Oct 26, 2019 · 1 comment
Labels

Comments

@NeonArray
Copy link

Describe the bug
If you modify the array that the get_enqueue_contexts method returns, a new WP_Error object is created and returned when performing the in_array check in several methods. This causes a somewhat cryptic error being thrown as at that point you are attempting to enqueue a script or stylesheet with a WP_Error object as the style/script path string.

Steps to Reproduce

  1. Clone the repo
  2. Run npm run-script start, yarn start, etc.
  3. Remove admin from return [ 'admin', 'frontend', 'shared' ]; on line 86 of core.php
  4. Activate the plugin

Expected behavior
Display a WordPress warning/error on the back-end with the messages passed to the WP_Error constructors.

Screenshots

Catchable fatal error: Object of class WP_Error could not be converted to string in /var/www/html/wp-includes/http.php on line 681 
...
@NeonArray
Copy link
Author

Perhaps I don't have a full grasp of what WP_Error should and should not do here. I made somewhat of an assumption that WP_Error would display the error with the strings passed to it, but that doesn't seem to actually be the case. The class simply wraps the error so you can do something with it later on (which I think ya'll already understand).

I still think that there should be somewhat of a different experience with the way the error is displayed here, but I will leave that up to the plugin authors. I'll leave this open for the time being, as I'd love to hear some feedback on this to maybe help my understanding to the correct way of handling errors in WP.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant