plugin-check
plugin-check copied to clipboard
Create Autoloaded_Options_Check
Description
Checks the usage of the add_option and update_option functions and warns if the $autoload parameter is not set, i.e. the default $autoload value is used, which is true. Too many autoloaded options can lead to performance issues so this option should not be set to true unless necessary. No existing sniff exists but the existing WordPress.WP.EnqueuedResourceParameters sniff in the WordPress Coding Standards can be used as a starting point.
Potentially, a warning could be triggered if "yes" is passed, but the most important part is to highlight the importance of considering that parameter and what it means for performance.
Acceptance Criteria
- Class
Autoloaded_Options_Checkshould be created and exists atincludes/Checker/Checks - Class
Autoloaded_Options_Checkshould extend thePHPCodesniffer_Checkabstract class which extendsCheckinterface - Property
$violationcode should bewarning - Method
runshould be implemented from thePHPCodesniffer_Checkabstract class if needed Check_Result $check_resultshould be used from therunmethod parameter to append the results$_SERVER['argv']arguments should be passed to parentrunmethod to provide PHPCS information aboutstandard,reportandsniff- Custom sniff to detect the usage of
$autoloadoption to true or false
Tests Coverage
Autoloaded_Options_Checkclass expected to extendPHPCodesniffer_Checkabstract classAutoloaded_Options_Checkclass expected to be instance ofPHPCodesniffer_Checkclassrunmethod expected to append results of check into$check_result
@jjgrainger I will update AC for this issue, thanks! 🙂
Such a custom sniff is probably best contributed to WPCS first. We don't have precedence for any sniffs in this plugin itself I think, plus contributing it upstream ensures high visibility and code quality.
We don't have precedence for any sniffs in this plugin itself
No longer true, we now have some custom sniffs in the plugin
There is some progress on the WPCS side: https://github.com/WordPress/WordPress-Coding-Standards/issues/2473
Nice!