PHP: PHPCS for a WordPress theme.
<?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