How wordpress/wordpress-coding-standards works
WordPress Coding Standards is a PHP_CodeSniffer ruleset for checking WordPress PHP conventions and practices. The main workflow is that a developer asks PHP_CodeSniffer to scan PHP files with a selected WordPress standard; PHPCS dispatches token processing to the applicable sniffs, which report violations or, for fixable rules, offer corrections. The repository also includes broad style, security, database, naming, WordPress API, and internationalization checks. The tree and excerpts show representative sniff and helper implementations, not the wiring for every sniff, so the graph omits uncertain internal calls.
Main entry points: AbstractFunctionRestrictionsSniff.php Function restrictions · DirectDatabaseQuerySniff.php Direct query sniff · DiscouragedPHPFunctionsSniff.php Discouraged PHP calls · EscapeOutputSniff.php Output escaping
Components 22
Scan interface
- PHP_CodeSniffer
Style checks
- Array formatting
WordPress/Sniffs/Arrays - Whitespace rules
WordPress/Sniffs/WhiteSpace
Code practices
- PHP usage rules
WordPress/Sniffs/PHP - Database rules
WordPress/Sniffs/DB - Code analysis
WordPress/Sniffs/CodeAnalysis - Direct query sniff
WordPress/Sniffs/DB/DirectDatabaseQuerySniff.php - Discouraged PHP calls
WordPress/Sniffs/PHP/DiscouragedPHPFunctionsSniff.php
Security checks
- Security rules
WordPress/Sniffs/Security - Output escaping
WordPress/Sniffs/Security/EscapeOutputSniff.php
WordPress conventions
- Naming rules
WordPress/Sniffs/NamingConventions - WordPress API rules
WordPress/Sniffs/WP - Internationalization
WordPress/Sniffs/Utils/I18nTextDomainFixerSniff.php - Discouraged WP calls
WordPress/Sniffs/WP/DiscouragedFunctionsSniff.php
Shared sniff logic
- Sniff base
WordPress/Sniff.php - Function restrictions
WordPress/AbstractFunctionRestrictionsSniff.php - Array restrictions
WordPress/AbstractArrayAssignmentRestrictionsSniff.php - Token helpers
WordPress/Helpers - Context helper
WordPress/Helpers/ContextHelper.php
Other components
- Developer
- PHP source files
- Findings and fixes
Connections 33
- Developer → PHP_CodeSniffer: runs scan
- PHP source files → PHP_CodeSniffer: scans
- PHP_CodeSniffer → Array formatting: dispatches
- PHP_CodeSniffer → Whitespace rules: dispatches
- PHP_CodeSniffer → PHP usage rules: dispatches
- PHP_CodeSniffer → Database rules: dispatches
- PHP_CodeSniffer → Code analysis: dispatches
- PHP_CodeSniffer → Security rules: dispatches
- PHP_CodeSniffer → Naming rules: dispatches
- PHP_CodeSniffer → WordPress API rules: dispatches
- PHP_CodeSniffer → Internationalization: dispatches
- Array formatting → Findings and fixes: reports
- Whitespace rules → Findings and fixes: reports
- PHP usage rules → Findings and fixes: reports
- Database rules → Findings and fixes: reports
- Code analysis → Findings and fixes: reports
- Security rules → Findings and fixes: reports
- Naming rules → Findings and fixes: reports
- WordPress API rules → Findings and fixes: reports
- Internationalization → Findings and fixes: reports
- Findings and fixes → Developer: presents
- Direct query sniff → Array restrictions: extends
- Discouraged PHP calls → Function restrictions: extends
- Discouraged WP calls → Function restrictions: extends
- Function restrictions → Sniff base: uses
- Array restrictions → Sniff base: uses
- Direct query sniff → Findings and fixes: reports
- Discouraged PHP calls → Findings and fixes: reports
- Discouraged WP calls → Findings and fixes: reports
- Output escaping → Function restrictions: extends
- Output escaping → Findings and fixes: reports
- Function restrictions → Context helper: calls
- Direct query sniff → Token helpers: uses