[wp-trac] [WordPress Trac] #61743: Capture and inform users when plugins or themes are `_doing_it_wrong()`

WordPress Trac noreply at wordpress.org
Wed Jul 24 15:13:49 UTC 2024


#61743: Capture and inform users when plugins or themes are `_doing_it_wrong()`
-------------------------+-----------------------------
 Reporter:  Clorith      |      Owner:  (none)
     Type:  enhancement  |     Status:  new
 Priority:  normal       |  Milestone:  Awaiting Review
Component:  Site Health  |    Version:
 Severity:  normal       |   Keywords:
  Focuses:               |
-------------------------+-----------------------------
 Part of a healthy website is having plugins and themes that use WordPress
 core's features correctly, to ensure they keep working in the foreseeable
 future (thanks to WordPress' dedication to backwards compatibility).

 The `_doing_it_wrong()` function, and its siblings, generally always fire
 a ` E_USER_NOTICE` level error, this means it will be hidden away in a log
 file that the user may never see, or hosts may have disabled, since only
 `WARNING` or `ERROR` are of true value.

 The Site Health Checks can help here, by capturing when these are thrown
 and surfacing them in a user friendly manner.

 **Why add this to core, and not just as a plugin?**
 The improper use of core functionality can lead to bad optics, where it
 looks like WordPress broke your site because they modified a function and
 a plugin wasn't using it
 in an expected way.

 In addition, this would allow core to deprecate things, and make authors
 more aware that if they just keep using them because "WordPress would
 never break this any way", it will reflect poorly on them as their users
 would be made aware that they are doing something wrong, making it safer
 for core to make changes of any kind (necessary deprecations for example).

 **How do we implement this in a user friendly manner?**
 This is the big question, as a site health check, it should always have
 something actionable attached to it, I envision it surfacing a table of
 plugins or themes that throw these notices, each of them with a link to
 their WordPress.org forums (if they're hosted on WordPress.org of course),
 and a notice to contact whomever they purchased it from if not.

 Additionally, an actionable item may be to make it forget what things it
 has discovered already (if you've done updates for example, and the issues
 may now be resolved).

 A self-actuating thing is that any plugin or theme update should remove
 it's memory of that plugin or theme, so that it may capture any new
 issues, and the memory should only persist a week at most in the first
 place, in case they use deployments that do not trigger the normal upgrade
 flows.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/61743>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list