Categorías
WordPress

Configurar PHPStorm para trabajar con plugins WordPress

PhpStorm provides a dedicated interface for developing and running WordPress applications and provides WordPress-aware coding assistance, see WordPress-specific coding assistance. To get access to this functionality in a project, you need to download WordPress, register it in PhpStorm, and activate the WordPress integration within the current project.

https://www.jetbrains.com/help/phpstorm/preparing-to-use-wordpress.html

PHPStorm ofrece una guía que en lo personal me quedó un poco corta y tuve que investigar bastante por mi cuenta para resolver algunos problemas que comentaré acá.

Para esta guía, utilizaré de ejemplo el proyecto WP Boilerplate.

Paso 1: Crear un nuevo proyecto de PHPStorm

Puedes crear un nuevo proyecto de PHPStorm importando el directorio ya existente de tu plugin. En mi caso lo que hice fue descargar el plugin WP_Boilerplate y ubicarlo en el directorio de plugins de mi proyecto ‘wordpress’ en XAMPP.

Paso 2: Importar el core de WordPress para la asistencia de código

PhpStorm provides full coding assistance for developing WordPress including WordPress-aware code completion, search for hook registration functions and functions specified as hook registration parameters, navigation between hook registrations and the hook invocations, callbacks, the possibility to configure the coding style in accordance with the WordPress code style, viewing the official WordPress documentation from the PhpStorm editor, and so on.

https://www.jetbrains.com/help/phpstorm/wordpress-aware-coding-assistance.html

Para obtener estos beneficios, tenemos que importar el core de WordPress para que PHPStorm lo indexe y nos ofrezca dicha asistencia de código. Lo haremos de esta forma:

Iremos a Settings > Languages & Frameworks > PHP y en la pestana Include Paths, agregaremos las carpetas wp-admin, wp-includes y si queremos asistencia de código en otros plugins instalados, la carpeta wp-content.

Una vez hecho esto, aplicamos los cambios y PHPStorm empezará a indexar los archivos del core de WordPress.

Paso 3: Instalar CodeSniffer y WPCS

With PhpStorm, you can use the PHP_CodeSniffer tool, which detects coding standard issues, in combination with WordPress Coding Standards, which provides a set of WordPress-specific standards to PHP_CodeSniffer. This will ensure that your code is clean, consistent, and free of some common errors.

https://www.jetbrains.com/help/phpstorm/wordpress-aware-coding-assistance.html

Para este paso, debes tener instalado de forma global Composer. Luego, instalaremos PHP_CodeSniffer con el siguiente comando:

composer global require "squizlabs/php_codesniffer=*"

Posteriormente iremos al repositorio de WPCS (WP Coding Standards, un conjunto de reglas para PHPCS enfocadas en el desarrollo en WordPress). Lo clonaremos o descargaremos en ZIP y extraeremos las carpetas WordPress, WordPress-Extra, WordPress-Docs, WordPress-Core y el archivo composer.json.

Esto lo moveremos a la carpeta donde composer instaló los archivos de PHPCS, especificamente a su carpeta Standards, que en mi caso está en la siguiente dirección:

C:\Users\himad\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\tests\Standards

Ahora abriremos una ventana de comandos, nos iremos a la ubicación de la carpeta Standards e instalaremos las dependencias del archivo composer.json.

Nos encontraremos con una nueva carpeta: vendor. De ella seleccionaremos las carpetas phpcompatibility y phpcsstandards y las moveremos un nivel abajo, a la carpeta Standards. Posteriormente eliminaremos la carpeta vendor.

Para comprobar que ha funcionado, abriremos una ventana de comandos y ejecutaremos el comando phpcs -i, a lo que tendremos que ver instalados los estándares WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra.

Paso 4: Configurar PHPCS en PHPStorm

Iremos a Settings > Language & Frameworks > Quality Tools > PHP_CodeSniffer, en el dropdown seleccionaremos Local y clickearemos en los tres puntos a la derecha para configurar el path de PHPCS. En Windows, siempre utilizaremos el archivo .bat de PHPCS, que encontraremos en la carpeta vendor de Composer. Para obtener el path de manera sencilla, abrimos una ventana de comandos y ejecutamos el comando where phpcs:

Ahora nos iremos a Settings > Editor > Inspections > Quality Tools y habilitaremos el checkbox PHP_CodeSniffer Validation. A la derecha veremos opciones de este checkbox, en el dropdown de Coding standards seleccionaremos WordPress y guardaremos los cambios.

Paso 4: Configurar el formateo automático del código

Iremos a Settings > Editor > Code Style > PHP y en la esquina superior derecha del recuadro de opciones, en la opción set from, escogeremos WordPress y guardamos los cambios.

Hasta aquí ya tenemos el formateo del código configurado para arreglarlo en base a las reglas del estandar de WordPress para PHPCS. Para hacer que se formatee de forma automática, instálaremos el siguiente plugin: Save Actions.

Una vez instalado, reiniciamos PHPStorm y nos vamos a Settings > Save Actions y marcamos las opciones como en la imagen:

Guardamos los cambios y ya estaría. Tenemos un entorno con asistencia de código para WordPress, linting proporcionado por PHPCS y formateo automático de código. Ahora, a crear plugins 🙂