El Core (II) El Codex, la API y conclusiones

El Codex

El codex de WP es una wiki utilizada por novatos y expertos, donde todos pueden colaborar, esta disponible en varios idiomas y es tan sencillo acceder a el como hacer click en la siguiente dirección:

https://codex.wordpress.org/es:Main_Page

Para utilizar el codex tan solo hace falta buscar aquello que necesitamos y consultarlo, ya sea por búsqueda o por artículos de dificultad creciente.

También podemos encontrar un glosario completo en:

https://codex.wordpress.org/Glossary

Dentro del Codex hay muchas más funciones como la búsqueda por lecciones, por temas… pero con solo manejarlo un poco es fácil ir haciéndose con él.

En él las funciones se describen con una página de referencia individual existente en la API de WP. En estas páginas se describen las funcionalidades:

https://codex.wordpress.org/Function_Reference

Desgraciadamente la traducción al español no esta muy avanzada, pero no es difícil entenderla en inglés.

La API

Las APIs facilitan la integración del sistema, que permiten hacer cosas sin saltarse la norma de No modificar el núcleo. Estas APIs se documentan en el Codex junto a las funciones que utilizan en su aplicación de plugins y temas. La siguiente lista es una colección de las más utilizadas:

  • API de plugins: Se utiliza para desarrollar plugins personalizados.

https://codex.wordpress.org/es:Plugin_API

  • API de widgets: Sirve para crear y mantener widgets que se colocarán en la parte lateral de nuestro tema.

https://codex.wordpress.org/es:API_de_Widget

  • API de shortcode: Se utiliza para añadir shortcodes a nuestros plugins. Estos códigos sirven para ayudarnos en el desarrollo en las entradas.

https://codex.wordpress.org/Shortcode_API

  • API HTTP: muy interesante para trabajar obtener contenido desde una URL externa como googlemaps, twitter…

https://codex.wordpress.org/HTTP_API

  • API de configuración: Se utiliza para crear páginas de configuración, permitiendo crear y administrar opciones personalizadas para plugins y temas. Es muy seguro por los que no hay que preocuparse de nonces ni de secuencias de comandos XSS.

https://codex.wordpress.org/Settings_API

  • API de opciones: Se utiliza para almacenar datos de opciones en la base de datos de WP, creando, actualizando, recuperando y eliminando valores de las opciones.

https://codex.wordpress.org/Options_API

  • API de widgets del escritorio: Se utiliza para crear widgets del escritorio de adminsitración. Todos los widgets que se crean segun esta API heredan todas las funciones jquery del resto de widgets (arrastrar, minimizar…) lo cual es algo bastante potente.

https://codex.wordpress.org/Dashboard_Widgets_API

  • API de escritura: para hacer funcionamientos parecidos al archivo .htaccess

https://codex.wordpress.org/Rewrite_API

Con todo esto ya nos podemos ir haciendo una idea de lo que las APIs y el Codex significan, deben de ser nuestros fieles compañeros cuando desarrollamos en WP, y no esta mal acostumbrarnos a ellos y saber como funcionan antes de comenzar el desarrollo, por ese motivo aun no hemos empezado a hacer nada, aunque hay mucho por investigar. Siempre hay que aprender a gatear antes que a andar, para luego correr y finalmente volar…

Pero hay muchas mas APIS, si quieres conocerlas todas puedes entrar aquí:

https://codex.wordpress.org/WordPress_API’s

Problemas con el Codex

Hasta aquí todo es fantástico pero ocurre que el Codex en algunas situaciones puede generar problemas, la razón es que WP se desarrolla mucho más rápido de lo que lo hace el Codex, ya que al se un proyecto comunitario hay veces que se queda atrás.

La búsqueda de contenido en el Codex puede ser otro de los problemas para trabajar, ya que hay muchísimo y no esta en ocasiones bien indexado, razón por la cual he decidido que esta entrada tenga tantos enlaces, de este modo se puede trabajar mejor y buscar por temas… espero que nos sirva a todos…

No modifiques el núcleo

Este aviso es muy importante, es útil saber como funciona el núcleo y entenderlo para saber que tenemos entre manos, pero es muy peligroso cambiar algo, ya que el más nimio cambio en él puede ocasionar errores enormes a medio/largo plazo como veremos a continuación:

  • Si actualizamos WP después de haber tocado su núcleo este se modificará y nuestros cambios se habrán perdido.
  • Si no actualizamos con el fin de no perder nuestros cambios, nuestro sistema puede resentirse teniendo vulnerabilidades que no hemos cerrado y por consiguiente podemos estar en peligro.
  • Al cambiar algo en el núcleo podemos estar afectando a otros componentes de WP que sufrirán el cambio sin que nos podamos dar cuenta.
  • Consideración con quien venga después, ya que al cambiar el núcleo podemos hacer que un desarrollador que tenga que mantener la web dentro de unos años no sepa las modificaciones realizadas y tenga que perder muchas horas en revisar el código o que actualice y el sitio se desmorone.

Para hacer cambios en la funcionalidad es preferible crear un plugin que realice lo que necesitamos ya que es mucho mejor y no compromete la estabilidad del sistema.

Y hasta aquí todo lo referente al núcleo, me ha quedad un poco extensa la entrada, pero quería terminar esto y empezar con cosas un poco menos teóricas y mas interesantes.