 Bueno, seguimos en el traje de charlas rápidas, en este caso con Laura Díaz y para ella todo empezó cuando heredó su primer ordenador con Windows 98, o sea, que hace un buen tiempo. Actualmente trabaja en la empresa Bobby Su, dentro del departamento de programación y hoy nos va a contar un caso real, que es lo que pedimos nosotros cuando dijimos que nos mandaran ponencias, que nos mandaran casos reales, para que así todos aprendamos lo que se hacen las empresas. Este caso real versa sobre cómo crear un potente sistema de valoraciones con Wordpress, así que darle un fuerte aplauso a Laura. Hola, primero muchas gracias a todo el equipo de organización de la Workand de Madrid, porque los seis haciendo fenomenal. Bueno, pues empezamos. Bueno, aquí sin más una pequeña presentación. Soy trabajo desde el frontena del vaquendo, ahora os lo voy a explicar por qué. Y lo primero, os voy a hacer una pregunta, ¿cuántos de vosotros alguna vez os han entregado un proyecto heredado? Y aquí es un marrón, os vais a sentir súper identificados con lo que nos pasó a nosotros, ¿vale? Aquí es como nos llevaron los clientes, nos venían con un Joomla súper resactualizado y querían renovar la Work, darle un diseño moderno y añadir con las mismas funcionalidades del Joomla. O sea, que eran exactamente lo mismo internamente con la misma funcionalidad, pero con un diseño mucho más bonito en TESA aquí, yo les hablé de lo maravilloso que es Wordpress y al principio todo pintaba bien. Aquí está, más o menos, esto es el plantamiento, lo que necesitaban ellos. Era un congreso de psicólogos y el funcionamiento era muy parecido a una Workand. Había un formuleo donde se recogían propuestas para hacer ponencias en el Congreso, luego había unos revisores que las valoraban y luego, pues en función de las mejores valoradas, eran las que iban a formar parte del programa. Entonces, aquí es la primera solución que les dimos, ¿vale? Perfecto. Primero, creamos un custom post-type de propuestas, ¿vale? Y a través, no sé si conocéis, Zapier es una herramienta externa que nos permite comunicar a aplicaciones entre sí. Entonces, ¿vale? Lanzamos un Zapier, le enviamos un email a los revisores y en ese email a los revisores le enviamos un link con un Google Forms, con un formulario, creamos un modelo de Google Forms, lo rellenan y además lo bueno que tiene Google Forms, que lo podemos escortar en CSV. Y así genial, los postamos en CSV, lo que tienen en tabla y ya calculen y pueden hacer el programa, pero no les servía. Fue los kits que es cuando cambiaban mi cara. Primero, plataformas externas. Claro, ellos se hacían todo en el Joomla. Tenían un módulo hecho a medida en el Joomla y todo era a través de ahí. Luego, estaban acostumbrados como se hacían antes. Cuando cambiamos de plataforma, siempre se oye, pero yo antes esto se hacía así, ¿no? ¿Se puede hacer esto así? Digo, pues, hombre, por poder, sí. Pero, y sabes, por detrás, todo el tiempo que te va a llevar, cambiar eso para que sea como estaba antes. Y luego eso, que lo querían, que todo estuviese dentro de la web, ¿vale? Aquí es donde estuve noche sin dormir pensando, hola, qué marrón, ahora cómo lo hago esto. ¿Cómo demonios resoluciono este problema? Y aquí está mi salvación. Lo que antes Juanca comentó, el codex, el codex, que significa, viene de latín, que es libro, es donde está toda la documentación de WordPress. Y tenemos la inversa a suerte de que WordPress está súper bien documentado. Porque me topó una vez, me tocó hacer unas modificaciones en un plin que no tenía nada de documentación ni fue, o sea, un infierno, todo ahí tuve que hacer niñapas, con Javascript y demás. Pero tenemos la suerte que con el WordPress tenemos todo documentado y, o sea, encima con ejemplos, o sea, si soy desarrollador es vuestra biblia para desarrollar con WordPress. Y aquí he podido hacer lo que digo, resumir lo máximo posible, pues cómo gracias a todas las funcionalidades de WordPress y al plugin de Custom File, el ASF Pro, no sé si lo conocéis, que es para crear Custom Files en los WordPress, que es un plugin genial. ¿Cómo, utilizando esas dos cosas, podemos crear este sistema de valoraciones? Claro os voy a explicar más detalladamente todo esto. Entonces, empezamos cómo resolví eso y aquí está la magia. Lo que hemos creado empezamos que había un Custom Post Type de las propuestas. Entonces, vale, ese Custom Post Type en la web se rellena desde el frontend, lo rellena desde la web, y se almacena. Entonces, por dentro lo que hice fue crear en el backend, hay un campo de revisores que es email revisor, de tal modo que se recibe una propuesta desde el frontend. Luego, cada vez que se recibe una propuesta, lo recojo y la envío un email al revisor. Entonces, esa es la siguiente manera, se queda guardada la propuesta y en el backend, el encargado de enviar las propuestas a los revisores, pone aquí el email desde el backend y al dar a actualizar, automáticamente se le envió un email al revisor para que lo revise. Vale, aquí es un poco, no sé si os voy a colocar el lugar para que lo tengáis, pero aquí simplemente lo que hago es lo siguiente, cada vez, o sea, se recuerda, se recoge una propuesta desde el frontend. Luego, el organizador va al backend y al rellenar el campo email revisor, lo que hago es, a través de Actions Safe Post, cuando se ejecuta, hago un VWP Mail y en el VWP Mail envío el link de un post que creo previamente, con la función WP Insert Post, que es una función, lo único que hay que enviarla es una RAIL, le enviamos una RAIL que le decimos cómo se llama el tipo de post, el estado, en este caso va a ser publicado, lo creo y ahora lo tengo, le envío unos campos ya predefinidos. Y aquí os habló de VWP Mail, que es una función que me encanta, y simplemente para activar decimos VWP Mail y le pasamos los parámetros que lo tengo por aquí, pues eso, aquí en el subjet, el mensaje y las cabeceras, entonces ya no necesito usar Zapier, con VWP Mail ya lo tengo solucionado. Y por otra parte, esta función es del propio plugin de ACF, que lo que hace es recoge cuando se guarda o se actualiza un post desde el frontend que tiene custom files, de tal modo que tenemos una parte del Safe Post a secas, que es el propio WordPress, que es un trigger que se ejecuta cada vez que se actualiza o se guarda un post en el backend y este la hace en el frontend, de tal manera que una cosa es cuando se rellenan las formularies desde el frontend y otra vez desde el backend. Y gracias a estos actos ya recojo los datos y he podido automatizar todo este proceso. Vale, y aquí falta la última parte, y esos datos que guardamos en los custom post types, cómo los exportamos, porque ellos lo necesitaban en CSV para crear tablas, pues este plugin que es gratuito, está en el repositorio de WordPress nos permite exportar los custom post types encima con sus custom files en un CSV que luego este CSV lo imprimimos y podemos hacer con él pues eso tablas y luego lo que querían. Así que esa historia era perfecto para ellos. Y fue un éxito, salió todo bien el congreso y ya fue el año pasado, me dieron hasta un... bueno, esto se lo daban a los asistentes del evento, pero salió todo bien cada día de hoy, pues sí, lo hubiera hecho con 8 horas, pero lo hubiera con muchas más mejoras, pues por ejemplo, proteger el custom post type de valoraciones porque ahora mismo era un custom post type publicado que era una URL publicada pues a ponerle más seguridad, crear un plugin que es un... para más información había una ponencia de Dani Serrano en Las Palmas de Gran Canaria que explicaba la perfección, que era un plugin y eso luego de lo mejorarla interfaz, pues ponerlo que al final era el tiempo, también teníamos un límite de tiempo para hacerlo y me hubiera gustado ponerlo más bonito, pero bueno, lo importante es que salía adelante, no hubo ningún problema y tenía todas las funcionalidades que tenía el antiguo YUMLA. Bueno y eso es todo. En el escán sobre aquí si tenéis alguna pregunta que se ha ido muy rápido, hay una vez pues me pilláis y se me preguntáis lo que queráis.