10up / plugin-scaffold

DEPRECATED. Use https://github.com/10up/wp-scaffold

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cryptic errors when get_enqueue_contexts 'fails'

NeonArray opened this issue · comments

commented

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 
...
commented

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.