PHPCS sniffs for enforcing categories in WordPress block pattern files.
composer require --dev bradp/wordpress-pattern-category-phpcsAdd the rule to your project's phpcs.xml or .phpcs.xml.dist:
<rule ref="PatternCategory.Patterns.PatternCategory">
<properties>
<property name="base_category" value="your-category" />
</properties>
</rule>The sniff validates that WordPress block pattern files contain a file-level docblock with the correct metadata:
- Missing docblock — The pattern file must have a
/** ... */docblock near the top. - Missing Categories — The docblock must include a
Categories:line. - Missing base category — If
base_categoryis configured, it must appear in the comma-separated list of categories.
<?php
/**
* Title: Hero Banner
* Slug: my-theme/hero-banner
* Categories: my-theme, banner
*/
?>
<!-- pattern markup -->