Responsive

Vscode y PHP Intelephense: Errores con WordPress y Woocommerce (Solucionado)



Intelephense: «Inteligencia de código PHP para Visual Studio Code»…

Si utilizas Visual Studio Code para desarrollar temas y plugins para WordPress/Woocommerce, en algún momento notarás que desde el principio te marcarán un número incontable de errores, tanto en tu código como en los propios archivos del core de WordPress.. Tal vez al principio no prestamos mucha atención ya que estamos seguros de que el código y las sintaxis no tienen errores, pero en algún momento, cuando el desarrollo esté muy avanzado, te hará dudar y te hará revisar el Codex y Stack Overflow unas cuantas veces.

Intelephense es una de las principales extensiones que necesitamos agregar a Visual Studio Code para poder mejorar nuestra productividad a la hora de programar en PHP. Esta extensión te va mostrando texto predictivo, referencias, sintaxis, parámetros necesarios para las funciones, etc.. Y por mucho que hayas estudiado un lenguaje de programación o te conozcas completamente el core de WordPress, con esta herramienta siempre sentirás una aceleración extra a la hora de programar tus temas o plugins para este CMS.

Error: Vscode Intelephense no reconoce funciones de WordPress.

Errores de WordPress con Vscode PHP Intelephense

Aún así, cuando instalas Intelephense y cargas tu carpeta de WordPress en Vscode, este seguirá mostrándote una gran cantidad de problemas y errores en todas partes, del tipo «Undefined type ‘WP_Query’ «, «Undefined function ‘have_posts'», que son funciones del core de WordPress que la extensión no reconoce debido a que por defecto no quedan agregados los «stubs» para WordPress y Woocommerce… Estos «stubs» son librerías o archivos PHP que Intelephense necesita para reconocer las funciones del core de WordPress y Woocommerce.

Solución: Agregar los stubs de Intelephense.

Archivos stubs para WordPress y Woocommerce

Para agregarlos, primero debemos validar que se encuentren las carpetas con los stubs necesarios entre los archivos de configuración de Vscode/Intelephense.

En mi caso pude ubicar estos archivos en la ruta:
«C:\Users\Daniel\.vscode\extensions\bmewburn.vscode-intelephense-client-1.3.11\node_modules\intelephense\lib\stub»

La carpeta de WordPress contiene el archivo wordpress-stubs.php.. Si no la encuentras, puedes descargarla comprimida en Zip, en el siguiente enlace de Github:

https://github.com/php-stubs/wordpress-stubs

La carpeta de Woocommerce no vino incluída con la extensión, por lo que tuve que descargarla de este otro enlace:

https://github.com/php-stubs/woocommerce-stubs

Una vez descargados, debes descomprimirlos y copiar los archivos correspondientes en sus respectivas carpetas

… stub\wordpress\wordpress-stubs.php
… stub\woocommerce\woocommerce-stubs.php

Finalmente, luego de copiados los archivos, se debe configurar la extensión para que cargue los mismos. Ingresa a la configuración de la extensión y ubica la sección «Stubs». Te aparece una lista en la que debes agregar WordPress y Woocommerce. Inmediatamente, luego de agregarlos, notarás que los problemas listados desaparecen…

No he hecho la prueba, pero viendo por encima he notado que faltan los «stubs» de PHP para Codeigniter, Laravel, Drupal, etc. Supongo que la solución podría ser parecida a la de WordPress/Woocommerce.. Si gustas, deja tus comentarios al respecto!!!

Escribe tus comentarios!