 Vamos a presentar ahora a Carlos Rodríguez. Carlos es ingeniero informático que actualmente se encuentra trabajando en el desarrollo y soporte de plugins para bucomers en GIT, desde sus oficinas de Santa Cruz, que dicho sea de paso, es su ciudad. Bienvenido, un fuerte aplauso. Hola, buenas. Y para pasar, para pasar de ejercicio. Hola, buenas a todos. ¿Qué tal? Mi nombre es Carlos Rodríguez y les voy a presentar un poco mi charla, la carga condicional de estilos y script. Bueno, como todos sabemos, WordPress te permite la posibilidad con distintos tipos de hooks de poder cargar, registrar y cargar scripts y estilos. Como pueden comprobar, estos hooks que les mostro aquí, el primer hook es para cargar estilos en el front-end, el segundo sería para poder registrar y cargar estilos en el back, el tercero para hacerlo en la página del login de WordPress e incluso también les añado una función para poder registrar estilos en los temas basados en bloques. Como pueden ver, el hook de la parte de admin, como la del registro en los bloques, hay parámetros que podemos utilizar. Entonces, de alguna manera, utilizando esos hooks, podríamos cargar condicionalmente estilos y script. Pero en el caso de la parte front-end y la parte del login, no tenemos nada. Entonces, ¿qué ocurre con esto? A cualquier desarrolladora, a cualquier persona que esté creando, configurando, podría cargar sus estilos y sus scripts en todas las páginas de WordPress. ¿Qué consecuencias tendría? Esto puede provocar que nuestros estilos, nuestros scripts entren en conflicto con otros plugins o con otras cosas que los clientes puedan tener. Entonces, les quiero mostrar un ejemplo de un cliente mío, la empresa donde yo trabajo, en la que me dedico a hacer soporte y desarrollo, que nos llega, nos abre un ticket de soporte, después de haber instalado un plugin nuestro, de haberlo comprado y haber instalado y nos dice que hace dos días que adquirió el plugin y está teniendo problemas en los ajustes. O sea, no solo en la parte front-end, sino en la parte del bug, en la parte de configuración del plugin. Entonces, si se da cuenta que en la primera opción, en las variaciones de las páginas y archivos, no puede ver nada. Este sería las opciones generales del plugin, esto era lo que veía al cliente una vez instalado el plugin. Y realmente, como se tendría que ver, sería de esta manera. ¿Qué ocurre? Yo al principio, evidentemente, me puse un poco cardíaco porque no entendía que podría estar pasando. Entonces, por suerte, tenía acceso a su sitio y pude hacer algunas comprobaciones y determinar que el problema estaba en un conflicto. ¿Qué conflicto ocurría en este caso? El cliente o el plugin, había un conflicto con otro plugin, resulta que el propio plugin estaba cargando los estilos en todas las páginas de Wordpress. En este caso concreto, este plugin nada más que se utilizaba en el bug para configurar, o sea, tendría una pantalla de configuración con un menú específico en una sección específica. ¿Qué ocurría con esto? Estaba cargando en todos lados. Entonces, si tú, por ejemplo, estabas en la paxtaña de configuración de Wordpress, cargaba el estilo de ese plugin, ese estilo que no era necesario para nada. Para colmo después de ese estilo, tenía reglas específicas aplicadas a elementos HTML, empecé a utilizar clases propias, entonces estaba afectando en este caso a la visualización de la página de archivo. ¿Qué ocurre con esto? ¿Cómo podría solucionarlo, de alguna manera? Pues en este caso, como es un estilo cargado en el backend, podría directamente utilizar el hook que les estaba mostrando anteriormente, donde puedes poner la página, donde tú te encuentras y comprobar si en este caso estás en esa página, entonces carga el estilo. Esto que hace, evita la colisión de conflictos de archivos CSS y ya estamos empezando a aplicar una carga condicional. Entonces, este archivo, este clase, estos estilos, solamente se van a aplicar si nos encontramos en la página en este caso de este archivo. Otra manera que podríamos utilizarlo, por ejemplo, es utilizando la función getCurrentScreen. GetCurrentScreen es una función de WordPress que funciona la parte administradora que nos devuelve un objeto screen, donde con un identificador podríamos hacer lo mismo que lo anterior. Hay que tener en consideración que esta función es necesario consultarla si existe, dado que en algunas ocasiones podría generar algún tipo de problemas ya que WordPress solamente la registra a partir del hook de admin init. Entonces, si por alguna razón estos estilos se cargan antes y esta función no existe, daría error. Entonces, mi consejo siempre al utilizar esta función es comprobar primero si existe o no. Otra manera que también podríamos utilizar para crear la carga condicional es la de utilizar parámetros get de la URL, para en este caso, por ejemplo, ver si existe un determinado parámetro de la URL como puede ser la página y si mi página es la de suite o la que nosotros queramos cargar condicionalmente estos estilos. Otra manera de poderlo hacer en este caso en el foranet es, por ejemplo, utilizando los tags condicionales de WordPress que nos permite hacer que si una página, por ejemplo, estamos en un POS simple o estamos en una página de archivo, solamente cargarlo cuando sea necesario. Podríamos hacerlo utilizando estos tags condicionales. Otra manera también podría ser otro tag condicional de ejemplo, podría ser una taxonomía custom. Por ejemplo, si nosotros creamos una taxonomía de WordPress y queremos que los estilos o los scripts solamente se apliquen a esos estilos, a esa taxonomía, pues podríamos utilizarlo con el parámetro is tags. Ahí les dejo un ejemplo de la URL donde pueden utilizar todos los tags condicionales que WordPress por defecto admite. También tenemos otra posibilidad con WooCommerce en este caso, si utilizáramos el plugin de tiendas de comercio electrónico, donde también WooCommerce por defecto, que también utiliza tags condicionales, como puede ser, por ejemplo, e-shop, e-card, e-checkout. Podemos utilizar esos tags condicionales para permitir cargar un script o archivos CCS solamente en una determinada página de la tienda de comercio electrónico. Si nosotros queramos un plugin para la página de mi cuenta, podríamos crear solamente o cargar solamente ese script y ese estilo en la página de mi cuenta. Otra manera también que podríamos utilizar es, por ejemplo, si nosotros tenemos un producto, un tipo de producto determinado que nosotros hayamos creado, pues en este caso podríamos hacer dentro de nuestro hook WRP en Google Script, solamente cargarlo cuando estamos en la página de producto y ese producto es de un determinado tipo. De esta manera, también estamos haciendo carga condicional. Y por último ya, las ventajas de aplicar las cargas condicionales. Primero, evidentemente, reduce la cantidad de estilos y de script que cargas en tu sitio web, ¿vale? Teniendo esto diferenciado, pues haces una mejor carga y reduce los elementos que nosotros podemos cargar en nuestro sitio web. Segundo, evidentemente, puedes evitar la incompatibilidad con otros plugins, ya que de por sí evitas las colisiones, ya que solo se cargan los determinados puntos dentro que quieres. Y por último, la modularidad. Podemos dividir script y estilos y utilizarlos y cargarlo solamente cuando sean necesarios. Esto que ocurre, el objetivo es cargar estrictamente lo necesario y el resultado es un código más fácil de mantener y una reducción de complejidad del proyecto. Y esto es todo. Muchas gracias.