PHP Code Sniffer (o cómo evitar que tu yo del futuro te odie)
Si trabajas con WordPress y PHP y no usas PHP Code Sniffer, tengo dos noticias:
- Tu código probablemente funciona
- Tu código probablemente da miedo
La buena noticia es que solucionar esto es bastante sencillo y, además, te hará parecer una persona seria delante de tu equipo… o al menos delante de tu IDE.
¿Qué es PHP Code Sniffer?
PHP Code Sniffer (PHPCS) es una herramienta que analiza tu código PHP y te indica si estás cumpliendo unos estándares definidos. En nuestro caso, los WordPress Coding Standards, que no son una sugerencia amistosa, sino la ley no escrita del ecosistema WordPress.
PHPCS no ejecuta tu código, lo juzga. Y lo hace sin piedad.
Instalando los estándares de WordPress
Asumimos que ya tienes Composer configurado en tu proyecto. Si no, este es un buen momento para dejar de copiar functions.php entre proyectos como si estuviéramos en 2012.
El paquete que hemos instalado únicamente le falta el PHPCS para limpiar el código PHP acorde a los estándares de WordPress, pero tampoco es demasiado difícil:
composer init
composer require wp-coding-standards/wpcs --devEsto nos instala los estándares oficiales de WordPress como dependencia de desarrollo. Nada se va a producción. Tranquilidad.
Configurando PHPCS como una persona civilizada
PHPCS necesita saber qué reglas usar y qué carpetas ignorar (porque nadie quiere analizar vendor/ o el black hole que es node_modules/, ni siquiera los valientes.)
Creamos un archivo phpcs.xml en la raíz del proyecto con el siguiente contenido:
<?xml version="1.0"?>
<rulesetname="WP-STARTER-FAST">
<description>Rules for a starter project in WordPress.</description>
<exclude-pattern>node_modules/*</exclude-pattern>
<exclude-pattern>vendor/*</exclude-pattern>
<exclude-pattern>build/*</exclude-pattern>
<configname="installed_paths"value="vendor/wp-coding-standards/wpcs" />
<argname="colors"/>
<argvalue="s"/>
<argname="extensions"value="php" />
<ruleref="WordPress-Core" />
<ruleref="WordPress-Docs" />
<ruleref="WordPress-Extra" />
</ruleset>¿Qué está pasando aquí?
- WordPress-Core: lo básico. Indentación, espacios, llaves, etc.
- WordPress-Docs: comentarios PHPDoc decentes (sí, los necesitamos, sobre todo en el futuro).
- WordPress-Extra: reglas más estrictas. Aquí es donde empieza el verdadero juicio moral.
- Colores: porque si te van a regañar, al menos que sea bonito.
- Exclude-patterns: PHPCS también sabe respetar límites.
Automatizando el sufrimiento (con Composer scripts)
Para no tener que escribir comandos largos como si estuviéramos en la consola de Windows XP, añadimos un par de scripts en nuestro composer.json:
"scripts": {
"lint": "phpcs .",
"fix": "phpcbf ."
}Ahora tenemos dos superpoderes:
- lint → te dice todo lo que has hecho mal
- fix → arregla automáticamente parte de lo que has hecho mal (no hace milagros, pero ayuda)
Probándolo todo
Momento de la verdad:
composer run-script lintAquí PHPCS te mostrará una lista de errores y warnings. Respira. Es normal. Todos hemos pasado por esto.

Ahora intentamos arreglar lo arreglable:
composer run-script fixVuelve a ejecutar el lint y disfruta de ese momento zen en el que los errores desaparecen… o se reducen lo suficiente como para ignorarlos estratégicamente.
Conclusión
Usar PHP Code Sniffer con los estándares de WordPress no es opcional si quieres:
- Mantener código mantenible
- Trabajar en equipo sin peleas pasivo-agresivas
- No odiarte dentro de seis meses (créeme, lo harás)
Configúralo una vez, intégralo en tu flujo de trabajo y deja que PHPCS sea el compañero gruñón que te dice la verdad que nadie más se atreve a decirte.
Tu código (y tu yo del futuro) te lo agradecerán.
