<?xml version="1.0"?> <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="WordPress Docs" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd"> <description>WordPress Coding Standards for Inline Documentation and Comments</description> <!-- Handbook: PHP Documentation Standards Ref: https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/php/ --> <rule ref="Squiz.Commenting"> <!-- Excluded to allow /* translators: ... */ comments --> <exclude name="Squiz.Commenting.BlockComment.SingleLine"/> <!-- Sniff seems to require indenting with spaces --> <exclude name="Squiz.Commenting.BlockComment.FirstLineIndent"/> <!-- Sniff seems to require indenting with spaces --> <exclude name="Squiz.Commenting.BlockComment.LineIndent"/> <!-- Sniff seems to require indenting with spaces --> <exclude name="Squiz.Commenting.BlockComment.LastLineIndent"/> <!-- WP requires /** for require() et al. See https://github.com/squizlabs/PHP_CodeSniffer/pull/581 --> <exclude name="Squiz.Commenting.BlockComment.WrongStart"/> <!-- WP handbook doesn't clarify one way or another, so ignore --> <exclude name="Squiz.Commenting.BlockComment.NoEmptyLineAfter"/> <!-- WP prefers indicating @since, @package, @subpackage etc in class comments --> <exclude name="Squiz.Commenting.ClassComment.TagNotAllowed"/> <!-- WP doesn't require //end ... for classes and functions --> <exclude name="Squiz.Commenting.ClosingDeclarationComment.Missing"/> <!-- Excluded to allow param documentation for arrays --> <exclude name="Squiz.Commenting.DocCommentAlignment.SpaceAfterStar"/> <!-- WP doesn't require a @author value for Squiz --> <exclude name="Squiz.Commenting.FileComment.IncorrectAuthor"/> <!-- WP doesn't require a @copyright value for Squiz --> <exclude name="Squiz.Commenting.FileComment.IncorrectCopyright"/> <!-- WP doesn't require @author tags --> <exclude name="Squiz.Commenting.FileComment.MissingAuthorTag"/> <!-- WP doesn't require @subpackage tags --> <exclude name="Squiz.Commenting.FileComment.MissingSubpackageTag"/> <!-- WP doesn't require @copyright tags --> <exclude name="Squiz.Commenting.FileComment.MissingCopyrightTag"/> <!-- WP has a different prefered order of tags --> <exclude name="Squiz.Commenting.FileComment.PackageTagOrder"/> <!-- WP has a different prefered order of tags --> <exclude name="Squiz.Commenting.FileComment.SubpackageTagOrder"/> <!-- WP has a different prefered order of tags --> <exclude name="Squiz.Commenting.FileComment.AuthorTagOrder"/> <!-- WP has a different prefered order of tags --> <exclude name="Squiz.Commenting.FileComment.CopyrightTagOrder"/> <!-- WP prefers int and bool instead of integer and boolean --> <exclude name="Squiz.Commenting.FunctionComment.IncorrectParamVarName"/> <!-- WP prefers int and bool instead of integer and boolean --> <exclude name="Squiz.Commenting.FunctionComment.InvalidReturn"/> <!-- WP prefers indicating a @return null for early returns --> <exclude name="Squiz.Commenting.FunctionComment.InvalidReturnNotVoid"/> <!-- WP states not all functions require @return --> <exclude name="Squiz.Commenting.FunctionComment.MissingReturn"/> <!-- Excluded to allow param documentation for arrays --> <exclude name="Squiz.Commenting.FunctionComment.ParamCommentNotCapital"/> <!-- Excluded to allow param documentation for arrays --> <exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamName"/> <!-- It is too early for PHP7 features to be required --> <exclude name="Squiz.Commenting.FunctionComment.ScalarTypeHintMissing"/> <!-- WP doesn't require type hints --> <exclude name="Squiz.Commenting.FunctionComment.TypeHintMissing"/> <!-- Exclude to allow duplicate hooks to be documented --> <exclude name="Squiz.Commenting.InlineComment.DocBlock"/> <!-- Excluded to allow /* translators: ... */ comments --> <exclude name="Squiz.Commenting.InlineComment.NotCapital"/> <!-- WP handbook doesn't clarify one way or another, so ignore --> <exclude name="Squiz.Commenting.InlineComment.SpacingAfter"/> <!-- Not in Inline Docs standard, and a code smell --> <exclude name="Squiz.Commenting.LongConditionClosingComment"/> <!-- Not in Inline Docs standard, and needed to bypass WPCS checks --> <exclude name="Squiz.Commenting.PostStatementComment"/> <!-- WP prefers int and bool instead of integer and boolean --> <exclude name="Squiz.Commenting.VariableComment.IncorrectVarType"/> <!-- WP demands a @since tag for class variables --> <exclude name="Squiz.Commenting.VariableComment.TagNotAllowed"/> <!-- WP prefers @since first --> <exclude name="Squiz.Commenting.VariableComment.VarOrder"/> </rule> <rule ref="Generic.Commenting.DocComment"> <!-- WP has different alignment of tag values --> <exclude name="Generic.Commenting.DocComment.TagValueIndent"/> <!-- WP has a different prefered order of tags --> <exclude name="Generic.Commenting.DocComment.ParamNotFirst"/> <!-- Excluded to allow param documentation for arrays --> <exclude name="Generic.Commenting.DocComment.ParamGroup"/> <!-- WP prefers no empty line between @param tags and @return --> <exclude name="Generic.Commenting.DocComment.NonParamGroup"/> <!-- Excluded to allow param documentation for arrays --> <exclude name="Generic.Commenting.DocComment.TagsNotGrouped"/> <!-- Exclude to allow duplicate hooks to be documented --> <exclude name="Generic.Commenting.DocComment.ContentAfterOpen"/> <!-- Exclude to allow duplicate hooks to be documented --> <exclude name="Generic.Commenting.DocComment.SpacingBeforeShort"/> <!-- Exclude to allow duplicate hooks to be documented --> <exclude name="Generic.Commenting.DocComment.ContentBeforeClose"/> </rule> </ruleset>