bradp / wordpress-pattern-category-phpcs
PHPCS sniffs for enforcing categories in WordPress block pattern files.
Package info
github.com/bradp/wordpress-pattern-category-phpcs
Type:phpcodesniffer-standard
pkg:composer/bradp/wordpress-pattern-category-phpcs
1.1.0
2026-04-01 05:39 UTC
Requires
- php: >=7.4
- squizlabs/php_codesniffer: ^3.0
README
PHPCS sniffs for enforcing categories in WordPress block pattern files.
Installation
composer require --dev bradp/wordpress-pattern-category-phpcs
Usage
Add the rule to your project's phpcs.xml or .phpcs.xml.dist:
<rule ref="PatternCategory.Patterns.PatternCategory"> <properties> <property name="base_categories" value="your-category, another-category" /> </properties> </rule>
The legacy single-category property still works:
<rule ref="PatternCategory.Patterns.PatternCategory"> <properties> <property name="base_category" value="your-category" /> </properties> </rule>
What it checks
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 required category — If
base_categoryorbase_categoriesis configured, the pattern must include at least one configured category in the comma-separated list.
Example of a valid pattern file
<?php /** * Title: Hero Banner * Slug: my-theme/hero-banner * Categories: my-theme, banner */ ?> <!-- pattern markup -->