The update of the Theme Sniffer plugin and the WPThemeReview coding standards is out 🎉
Theme Sniffer Theme Sniffer is a plugin utilizing custom sniffs for PHP_CodeSniffer that statically analyzes your theme and ensures that it adheres to WordPress coding conventions, as well as checking your code against PHP version compatibility.
The plugin is available from GitHub.
Themes are not required to pass the Theme Sniffer scan without warnings or errors to be included in the theme directory. is a plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party utilising custom sniffs A module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food. for PHP_CodeSniffer that statically analyses your theme and ensures that it adheres to WordPress coding conventions, as well as checking your code against PHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. version compatibility.
WPThemeReview is the official Theme Review Team coding standard used for checking the themes using PHP_CodeSniffer (PHPCS PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS.).
Both are used as helpful tools during the theme review process (not a requirement).
In the Theme Sniffer update we’ve done some bigger changes, including
- Added sniff A module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food. codes that can be copied for easier whitelisting of the false issues
- Added readme validator
- Added Screenshot validator
- Added required files checks
- Added checks for core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. minimum PHP version
- Added a license validator
- Updated WPThemeReview coding standards to the 0.2.0 version
- Moved JS checking to esprima
- Moved installation error to admin notice
- Validation improvements
- Fixed annotation issue – the ingore annotation checkbox worked counter to what it should
- Fixed cross-env issue for development on Windows machines
- Minor grammar fixes
- Minor visual fixes
A lot of new this have been added and I’d like to thank @timph for making an awesome contribution to the plugin.
I’d also like to thank all other awesome contributors. Your work is really appreciated.
In the WPThemeReview update we’ve added some new sniffs, updated few rulesets and fixed some old sniffs to minimize the false positives. You can check out the full changelog here.
I’d also like to thank @jrf for helping out with the standards. Her expertise is invaluable to us.
The development of the Theme Sniffer and standards continues, and the roadmap that I had in mind, for the Theme Sniffer, was to
- Write complete integration test suite
- Improve on the accessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) of the admin area
- Refactor the plugin to add php-di for dependency injection
- Refactor the plugin to make the codebase more manageable
- Refactor some JS to remove jQuery dependency, as it’s not really needed and all the JS can be written in vanilla JS
- Add the features mentioned in the issues
For the standards, we need to decide on some open issues, then make a roadmap for implementing other sniffs.
The plugin is actively developed on Github, so if you wish to contribute you can start there. Also, if you find any issue with the plugin, feel free to open an issue on the repository.
You can find an entry in the handbook about the usage and some clarification regarding the sniff results interpretation.
The standard is also developed on Github, contributions are welcomed.
Call for contributors
We need your help. While I’d love nothing more than to work on this and other TRT open source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. projects, I just don’t have enough time to work full time on it (which impacts the releases and updates).
So if you have experience with modern object oriented PHP and want to help develop an awesome tool I’d be happy to help you with the onboarding. Also, writing documentation, doing some quality assurance issues, working on design improvements (a11y Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)) and solving some other issues is also very welcomed.