Recommend this page to a friend! |
Classes of Adeleye Ayodeji | Download Installed Plugin | vendor/wp-coding-standards/wpcs/README.md | Download |
|
Download <div aria-hidden="true"> </div> WordPress Coding Standards for PHP_CodeSniffer
IntroductionThis project is a collection of PHP_CodeSniffer rules (sniffs) to validate code developed for WordPress. It ensures code quality and adherence to coding conventions, especially the official WordPress Coding Standards. This project needs funding. Find out how you can help. Minimum RequirementsThe WordPress Coding Standards package requires: * PHP 5.4 or higher with the following extensions enabled:
For the best results, it is recommended to also ensure the following additional PHP extensions are enabled: - iconv - Multibyte String InstallationAs of WordPressCS 3.0.0, installation via Composer using the below instructions is the only supported type of installation. Composer will automatically install the project dependencies and register the rulesets from WordPressCS and other external standards with PHP_CodeSniffer using the Composer PHPCS plugin. > If you are upgrading from an older WordPressCS version to version 3.0.0, please read the Upgrade guide for ruleset maintainers and end-users first! Composer Project-based InstallationRun the following from the root of your project:
Composer Global InstallationAlternatively, you may want to install this standard globally:
Updating your WordPressCS install to a newer versionIf you installed WordPressCS using either of the above commands, you can upgrade to a newer version as follows:
Using your WordPressCS installOnce you have installed WordPressCS using either of the above commands, use it as follows:
> Pro-tip: For the convenience of using RulesetsStandards subsetsThe project encompasses a super-set of the sniffs that the WordPress community may need. If you use the You can use the following as standard names when invoking
Using a custom rulesetIf you need to further customize the selection of sniffs for your project - you can create a custom ruleset file. When you name this file either For more info, read about using a default configuration file. See also the provided WordPressCS Customizing sniff behaviourThe WordPress Coding Standard contains a number of sniffs which are configurable. This means that you can turn parts of the sniff on or off, or change the behaviour by setting a property for the sniff in your custom You can find a complete list of all the properties you can change for the WordPressCS sniffs in the wiki. WordPressCS also uses sniffs from PHPCSExtra and from PHP_CodeSniffer itself. The README for PHPCSExtra contains information on the properties which can be set for the sniff from PHPCSExtra. Information on custom properties which can be set for sniffs from PHP_CodeSniffer can be found in the PHP_CodeSniffer wiki. Recommended additional rulesetsPHPCompatibilityThe PHPCompatibility ruleset and its subset PHPCompatibilityWP come highly recommended. The PHPCompatibility sniffs are designed to analyse your code for cross-version PHP compatibility. The PHPCompatibilityWP ruleset is based on PHPCompatibility, but specifically crafted to prevent false positives for projects which expect to run within the context of WordPress, i.e. core, plugins and themes. Install either as a separate ruleset and run it separately against your code or add it to your custom ruleset, like so:
Whichever way you run it, do make sure you set the For more information about setting the VariableAnalysisFor some additional checks around (undefined/unused) variables, the VIP Coding StandardsFor those projects which deploy to the WordPress VIP platform, it is recommended to also use the official WordPress VIP coding standards ruleset. How to useCommand lineRun the
Will result in following output:
Using PHPCS and WordPressCS from within your IDEThe wiki contains links to various in- and external tutorials about setting up WordPressCS to work in your IDE. Running your code through WordPressCS automatically using Continuous Integration toolsFixing errors or ignoring themYou can find information on how to deal with some of the more frequent issues in the wiki. Tools shipped with WordPressCSSince version 1.2.0, WordPressCS has a special sniff category This sniff category contains some tools which, generally speaking, will only be needed to be run once over a codebase and for which the fixers can be considered _risky_, i.e. very careful review by a developer is needed before accepting the fixes made by these sniffs. The sniffs in this category are disabled by default and can only be activated by adding some properties for each sniff via a custom ruleset. At this moment, WordPressCS offer the following tools:
*
ContributingSee CONTRIBUTING, including information about unit testing the standard. FundingIf you want to sponsor the work on WordPressCS, you can do so by donating to the PHP_CodeSniffer Open Collective. LicenseSee LICENSE (MIT). |