Itineris WP Coding Standards is a project with rulesets for code style and quality tools to be used in Itineris WordPress projects.
It is a mix of PSR-1, PSR-2, PSR-4, PSR-12, Slevomat and WordPress coding standards.
Whenever there's a conflict between PSR and WPCS, always prefer PSR.
Currently, it works for WordPress plugins. Using it on Bedrock or Sage requires some tweaking.
composer require --dev itinerisltd/itineris-wp-coding-standards
First, create phpcs.xml
on project root:
<?xml version="1.0"?>
<ruleset name="Plugin">
<!-- Check all files under project root -->
<file>./</file>
<!-- Show colors in console -->
<arg value="-colors"/>
<!-- Show progress and sniff codes in all reports; Show progress of the run -->
<arg value="sp"/>
<!-- Scan only PHP files -->
<arg name="extensions" value="php"/>
<!-- Use Itineris WP Coding Standards -->
<rule ref="Itineris"/>
<!-- TODO: Change everything below! -->
<!-- TODO: Exclude specific rules if necessary -->
<!-- TODO: Exclude some files -->
<exclude-pattern>/my-awesome-plugin.php</exclude-pattern>
<exclude-pattern>/tests/*</exclude-pattern>
<exclude-pattern>/vendor/*</exclude-pattern>
<!-- TODO: Define minimum supported WordPress version -->
<config name="minimum_supported_wp_version" value="6.2"/>
<!-- TODO: Define expected text domains -->
<rule ref="WordPress.WP.I18n">
<properties>
<property name="text_domain" type="array">
<element value="my-plugin"/>
<element value="my-theme"/>
<element value="woocommerce"/>
<element value="sage"/>
</property>
</properties>
</rule>
</ruleset>
Then, define composer scripts in composer.json
:
{
"scripts": {
"style:check": "phpcs",
"style:fix": "phpcbf"
}
}
Run the commands:
composer style:check
composer style:fix
- Whitelisting code which flags errors
- Flagged superglobal usage in WordPress VIP
- Fixing errors for input data
- Sanitizing array input data
- Customizable sniff properties
Never! This plugin will only work on actively supported PHP versions.
Don't use it on end of life or security fixes only PHP versions.
- Articles on Itineris' blog
- More projects on Itineris' GitHub profile
- More plugins on Itineris and TangRufus wp.org profiles
- Follow @itineris_ltd and @TangRufus on Twitter
- Hire Itineris to build your next awesome site
Thanks! Glad you like it. It's important to let my boss knows somebody is using this project. Please consider:
- tweet something good with mentioning @itineris_ltd and @TangRufus
- ⭐ star this Github repo
- 👀 watch this Github repo
- write blog posts
- submit pull requests
- hire Itineris
Please provide feedback! We want to make this library useful in as many projects as possible. Please submit an issue and point out what you do and don't like, or fork the project and make suggestions. No issue is too small.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Itineris WP Coding Standards is a Itineris Limited project created by Tang Rufus.
Full list of contributors can be found here.
Itineris WP Coding Standards is released under the MIT License.