<?xml version="1.0"?>
<ruleset name="WordPress Core Coding Standards">
	<description>Generally-applicable sniffs for WordPress plugins.</description>

	<!-- What to scan -->
	<arg name="extensions" value="php"/>

	<exclude-pattern>*/tests/*</exclude-pattern>
	<exclude-pattern>*/vendor/*</exclude-pattern>

	<config name="testVersion" value="7.4-"/>

	<!-- Rules: Check PHP version compatibility -->
	<!-- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions -->
	<rule ref="PHPCompatibilityWP"/>

	<!-- 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 -->
	<config name="minimum_supported_wp_version" value="5.3"/>

    <rule ref="WordPress-Docs"/>
	<rule ref="WordPress-Core">
		<exclude name="Squiz.Commenting.FileComment.MissingPackageTag"/>
		<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamType"/>
		<exclude name="Squiz.PHP.DisallowMultipleAssignments.FoundInControlStructure"/>
		<exclude name="WordPress.Files.FileName.InvalidClassFileName"/>
		<exclude name="WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound"/>
		<exclude name="WordPress.WP.I18n.TextDomainMismatch"/>
		<exclude name="WordPress.WP.I18n.MissingTranslatorsComment"/>
		<exclude name="WordPress.WP.I18n.NonSingularStringLiteralDomain"/>
		<exclude name="WordPress.PHP.DisallowShortTernary.Found"/>
		<exclude name="WordPress.DB.DirectDatabaseQuery.DirectQuery"/>
		<exclude name="WordPress.DB.DirectDatabaseQuery.NoCaching"/>
	</rule>
	<rule ref="WordPress-Extra"/>
	<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="de_wp_disable_webp"/>
		</properties>
	</rule>
	<rule ref="WordPress.WP.I18n">
		<properties>
			<!-- Value: replace the text domain used. -->
			<property name="text_domain" type="array" value="disable-webp-by-default"/>
		</properties>
	</rule>
	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing">
		<properties>
			<property name="blank_line_check" value="true"/>
		</properties>
	</rule>
	<rule ref="WordPress.NamingConventions.PrefixAllGlobals.ShortPrefixPassed">
		<exclude-pattern>*</exclude-pattern>
	</rule>
</ruleset>
