<?xml version="1.0"?>
<ruleset name="DesignSetGo">
	<description>DesignSetGo WordPress Coding Standards</description>

	<!-- Files to check -->
	<file>./designsetgo.php</file>
	<file>./includes</file>

	<!-- Exclude patterns -->
	<exclude-pattern>*/vendor/*</exclude-pattern>
	<exclude-pattern>*/node_modules/*</exclude-pattern>
	<exclude-pattern>*/build/*</exclude-pattern>

	<!-- Arguments -->
	<arg value="sp"/>
	<arg name="extensions" value="php"/>
	<arg name="colors"/>

	<!-- Rules -->
	<rule ref="WordPress-Core">
		<exclude name="WordPress.Files.FileName"/>
		<exclude name="Generic.Arrays.DisallowShortArraySyntax"/>
	</rule>

	<rule ref="WordPress-Docs"/>

	<rule ref="WordPress-Extra">
		<exclude name="WordPress.Files.FileName"/>
	</rule>

	<rule ref="WordPress.WP.I18n">
		<properties>
			<property name="text_domain" type="array">
				<element value="designsetgo"/>
			</property>
		</properties>
	</rule>

	<rule ref="WordPress.Security"/>

	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing">
		<properties>
			<property name="blank_line_check" value="true"/>
		</properties>
	</rule>

	<!-- Allow slash-separated hook names for namespacing -->
	<rule ref="WordPress.NamingConventions.ValidHookName">
		<properties>
			<property name="additionalWordDelimiters" value="/"/>
		</properties>
	</rule>

	<!-- Allow error_log() when wrapped in WP_DEBUG check -->
	<rule ref="WordPress.PHP.DevelopmentFunctions">
		<exclude name="WordPress.PHP.DevelopmentFunctions.error_log_error_log"/>
	</rule>

	<!-- Allow file_get_contents for local files only -->
	<rule ref="WordPress.WP.AlternativeFunctions">
		<properties>
			<property name="exclude" value="file_get_contents"/>
		</properties>
	</rule>

	<!-- Minimum PHP version -->
	<config name="minimum_supported_wp_version" value="6.0"/>
	<config name="testVersion" value="7.4-"/>
</ruleset>
