Created
August 24, 2020 14:12
-
-
Save wpsmith/882a9452a2fda4ace17544a0d90dd065 to your computer and use it in GitHub Desktop.
PHP: PHPCS for a WordPress theme.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<ruleset name="WPS"> | |
<description>Generally-applicable sniffs for WordPress plugins.</description> | |
<!-- What to scan --> | |
<file>.</file> | |
<exclude-pattern>/vendor/</exclude-pattern> | |
<exclude-pattern>/node_modules/</exclude-pattern> | |
<!-- How to scan --> | |
<!-- Usage instructions: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage --> | |
<!-- Annotated ruleset: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml --> | |
<arg value="spvvv"/> <!-- Show sniff and progress --> | |
<arg name="basepath" value="./"/><!-- Strip the file paths down to the relevant bit --> | |
<arg name="colors"/> | |
<arg name="extensions" value="php"/> | |
<arg name="parallel" value="8"/><!-- Enables parallel processing when available for faster results. --> | |
<!-- Exclude from checking package managers directiories. --> | |
<exclude-pattern>*/vendor/*</exclude-pattern> | |
<exclude-pattern>*/node_modules/*</exclude-pattern> | |
<!-- Disallow using a short array syntax. --> | |
<rule ref="Generic.Arrays.DisallowShortArraySyntax.Found"> | |
<type>warning</type> | |
</rule> | |
<!-- Extend WordPress Coding Standard ruleset. --> | |
<rule ref="WordPress-Extra" /> | |
<!-- Rules: Check PHP version compatibility --> | |
<!-- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions --> | |
<config name="testVersion" value="5.3-"/> | |
<!-- Rules: WooCommerce --> | |
<!-- https://github.com/woocommerce/woocommerce-sniffs/ --> | |
<rule ref="WooCommerce"> | |
<include-pattern>*/woocommerce/*</include-pattern> | |
<include-pattern>*/classes/WC*.php</include-pattern> | |
<include-pattern>*/classes/WAS.php</include-pattern> | |
</rule> | |
<!-- https://github.com/PHPCompatibility/PHPCompatibilityWP --> | |
<rule ref="PHPCompatibility"> | |
<exclude-pattern>tests/</exclude-pattern> | |
</rule> | |
<!-- Rules: WordPress Coding Standards --> | |
<!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards --> | |
<!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties --> | |
<!-- @todo Update a rule value to your project minimum supported WP version string --> | |
<config name="minimum_supported_wp_version" value="4.6"/> | |
<!-- Rules: WordPress VIP --> | |
<!-- <rule ref="WordPress">--> | |
<!-- <exclude name="WordPress.VIP"/>--> | |
<!-- </rule>--> | |
<!-- Rules: WordPress Internationalization --> | |
<!-- @todo Update a rule value to your project textdomain string --> | |
<rule ref="WordPress.WP.I18n"> | |
<properties> | |
<!-- Value: replace the text domain used. --> | |
<property name="text_domain" type="array" value="storefront,setantabooks"/> | |
</properties> | |
</rule> | |
<!-- WordPress Coding Standards Modifications --> | |
<!-- @todo Update a rule value to your project prefix string --> | |
<rule ref="WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound"> | |
<exclude-pattern>*/woocommerce/*</exclude-pattern> | |
<exclude-pattern>*/woocommerce/emails/*</exclude-pattern> | |
</rule> | |
<rule ref="WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound"> | |
<exclude-pattern>*/woocommerce/*</exclude-pattern> | |
<exclude-pattern>*/woocommerce/emails/*</exclude-pattern> | |
</rule> | |
<rule ref="WordPress.NamingConventions.PrefixAllGlobals"> | |
<properties> | |
<!-- Value: replace the function, class, and variable prefixes used. Separate multiple prefixes with a comma. --> | |
<property name="prefixes" type="array" value="WPS\WP\Plugins,wps_,sb_"/> | |
</properties> | |
</rule> | |
<!-- Turn on theme's filenames validation. --> | |
<rule ref="WordPress.Files.FileName"> | |
<properties> | |
<property name="is_theme" value="true" /> | |
</properties> | |
</rule> | |
<!-- Rules: Ignore Filename WordPress Coding Standards Rules in favor of PSR-4 --> | |
<rule ref="WordPress.WhiteSpace.ControlStructureSpacing"> | |
<properties> | |
<property name="blank_line_check" value="true"/> | |
</properties> | |
</rule> | |
<!-- Rules: Ignore Filename WordPress Coding Standards Rules in favor of PSR-4 --> | |
<rule ref="WordPress.Files.FileName.NotHyphenatedLowercase"> | |
<type>warning</type> | |
<exclude-pattern>/classes/</exclude-pattern> | |
</rule> | |
<rule ref="WordPress.Files.FileName.InvalidClassFileName"> | |
<type>warning</type> | |
<exclude-pattern>/classes/</exclude-pattern> | |
</rule> | |
<!-- Check for usage of deprecated functions. --> | |
<!-- @todo Update a rule value to your project minimum supported WP version string --> | |
<rule ref="WordPress.WP.DeprecatedFunctions"> | |
<properties> | |
<property name="minimum_supported_version" value="4.0" /> | |
</properties> | |
</rule> | |
<!-- Excluding Rules --> | |
<rule ref="WordPress"> | |
<exclude name="WordPress.WhiteSpace.ControlStructureSpacing.BlankLineAfterEnd"/> | |
</rule> | |
<rule ref="PEAR.Functions.FunctionCallSignature"> | |
<exclude name="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket" /> | |
<exclude name="PEAR.Functions.FunctionCallSignature.CloseBracketLine" /> | |
</rule> | |
</ruleset> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment